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

Тема в разделе "Wordpress", создана пользователем 4erepaha13, 14 дек 2010.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. 4erepaha13

    4erepaha13

    Регистр.:
    20 июн 2009
    Сообщения:
    155
    Симпатии:
    17
    Необходимо часть слов в постах сделать ссылками. Т.к. слова и целевые урлы меняются, то правка БД через 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 ничего не дают.
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    да можно на 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
     
  3. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Есть ведь масса готовых многофункциональных плагинов для этих задач.
     
  4. Xonres

    Xonres

    Регистр.:
    13 ноя 2006
    Сообщения:
    204
    Симпатии:
    12
    Например?! Скажите пожалуйста, тоже ищу подобные плагины, желательно бесплатные.
     
  5. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Вотhttp://wordpress.org/extend/plugins/search.php?q=replace&sort=
     
Статус темы:
Закрыта.