• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Как сделать замену только в выводимом тексте записи

Статус
В этой теме нельзя размещать новые ответы.

4erepaha13

Полезный
Регистрация
20 Июн 2009
Сообщения
157
Реакции
18
Необходимо часть слов в постах сделать ссылками. Т.к. слова и целевые урлы меняются, то правка БД через SQL запросы не подходит.
Набросал плагин-функцию замены, которая через 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 ничего не дают.
 
да можно на the_content вешать, но надо цеплять функцию которая изменяет текст, код плагина
PHP:
<?php
//Plugin Name: Perelink

function perelink($content){
    $content = preg_replace('/(текст|супер)/ui', '<a href="#">$1</a>', $content);
    return $content;
}

//полная запись
add_filter('the_content', 'perelink');
//сокращённая запись
add_filter('the_excerpt', 'perelink');
//комментарии
add_filter('comment_text', 'perelink');

?>
и на комментарии можно навесить, этот плагин заменит текст "текст" или "супер" или "Супер" и т. д. на ссылки, скрипт сохранять в кодировке utf-8
 
Есть ведь масса готовых многофункциональных плагинов для этих задач.
Например?! Скажите пожалуйста, тоже ищу подобные плагины, желательно бесплатные.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху