Как удалить тег more из всех записей WordPress

Удаление тега more может понадобиться если вы решили изменить способ вывода анонсов на сайте. Например, я часто использую для вывода анонса the_content_rss и автоматически сгенерированную миниатюру.

При этом, если раньше некоторые записи имели тег more, или редактор ставит его время от времени по привычке, анонсы выводятся неравномерной длины.

Чтобы исправить ситуацию используем простой SQL-запрос через phpMyAdmin:

UPDATE wp_posts SET post_content = REPLACE ( post_content, '<!--more-->', '' );

Прежде, чем что либо делать с базой данных, не забываем сохранить ее резервную копию!!!

Это можно сделать как нажав ссылочку «Экспорт» в phpMyAdmin (что на мой взгляд удобнее и логичнее), так и установив дополнительный плагин для WordPress WP-DB-Backup.

Кстати, если вы все же используйте the_content и тег more, и вас раздражает в ссылке окончание #more, вы можете добавить в functions.php следующий код:

function remove_more_jump_link($link) {
	$offset = strpos($link, '#more-');
	if ($offset) {
		$end = strpos($link, '"',$offset);
	}
	if ($end) {
		$link = substr_replace($link, '', $offset, $end-$offset);
	}
	return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');

Теперь у вас будут ссылки «Читать далее» вида site.ru/news/1234, вместо site.ru/news/1234#more и читатель будет попадать на начало страницы, вместо середины статьи при ее открытии (несколько дней назад как раз клиент жаловался на такой «глюк», пришлось объяснять, что так и задумано в WordPress).