4erepaha13
Полезный
- Регистрация
- 20 Июн 2009
- Сообщения
- 157
- Реакции
- 18
- Автор темы
- #1
Необходимо часть слов в постах сделать ссылками. Т.к. слова и целевые урлы меняются, то правка БД через SQL запросы не подходит.
Набросал плагин-функцию замены, которая через add_action в functions.php будет перехватывать хук и на лету производить замену по регулярке.
Вопросов два:
1) на какой хук вешать?
Методом тыка повесил на the_post, но через
$content = apply_filters( 'the_content', $post->post_content );
получаю всю запись (не учитывается море и некстпейдж) на морде и в категориях. А the_content просто вешает блог.
2) Как выводить измененный контент?
Делаю эхо исправленного текста- все ок. А вот $post->post_content = $text; или просто return $text ничего не дают.
Набросал плагин-функцию замены, которая через add_action в functions.php будет перехватывать хук и на лету производить замену по регулярке.
PHP:
add_action( 'the_post', 'perelink' );
function perelink ($post) {
$content = apply_filters( 'the_content', $post->post_content );
$text = поиск и замена слов на урлы в $content
$post->post_content = $text;
return $text;
}
1) на какой хук вешать?
Методом тыка повесил на the_post, но через
$content = apply_filters( 'the_content', $post->post_content );
получаю всю запись (не учитывается море и некстпейдж) на морде и в категориях. А the_content просто вешает блог.
2) Как выводить измененный контент?
Делаю эхо исправленного текста- все ок. А вот $post->post_content = $text; или просто return $text ничего не дают.