WP замена картинки на баннер - не корректно срабатывает str_replace

Тема в разделе "PHP", создана пользователем SocMaster, 3 мар 2015.

Статус темы:
Закрыта.
Модераторы: latteo
  1. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    202
    Симпатии:
    47
    Задача: есть много тысяч записей в блоге вп, все они с одинаковой картинкой, нужно картинку заменить на баннер от адсенса
    Не долго думая я сделал так
    PHP:
    $post get_post($wp_query->get_queried_object()->ID);
                
    $content $post->post_content;
                
    $str str_replace('***картинка***','**код рекламы**',$content);
                echo 
    $str
    Все бы ничего, но после замены пропадает форматирование текста
    Должно быть так http://c2n.me/3du1l19
    По факту - http://c2n.me/3du1qKM
    Если вывести просто $content то форматирование есть. если $str форматирование текста пропадает...
    В чем моя ошибка?
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Я обычно в таком случае делаю var_dump переменных и сравниваю что не так.
    Код:
    $post = get_post($wp_query->get_queried_object()->ID);
    $content = $post->post_content;
    $str = str_replace('***картинка***','**код рекламы**',$content);
    var_dump($str.'<hr>'.$content);  
     
  3. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    202
    Симпатии:
    47
    PHP:
         $content get_the_content();
                
    $content apply_filters'the_content'$content );
                
    $content str_replace']]>'']]&gt;'$content );
    $str str_replace('***картинка***','**код рекламы**',$content);
    Почитал офф документацию движка, сделал так. Работает как надо.
     
Статус темы:
Закрыта.