[Помогите] Вывод нужного кода в конце публикации

Тема в разделе "Wordpress", создана пользователем darmoid, 25 авг 2013.

Модераторы: Sorcus
  1. darmoid

    darmoid Киллер

    Регистр.:
    9 мар 2007
    Сообщения:
    372
    Симпатии:
    115
    Ситуация следующая.
    Нужно вывести некий код в конце публикации (после последнего абзаца).
    Если редактировать файл single.php то не получается. Рейтинг публикации стоит выше.
    Пробовал кодом:
    Код:
    add_filter('the_content', 'kama_content_advertise', -10); 
    function kama_content_advertise($text){ 
        global $post; 
         
        if( $post->post_type != 'post' ) 
            return; 
         
        echo $text; 
        ?> 
        здесь рекламный код 
        <?php 
    }
    Но таким методом выводился рекламный код и на главной странице перед читать дальше.
    Попробовал изменить условие - if(!is_single() || $post->post_type != 'post' )

    Но так пропал текст в анонсах совсем. Хотя и выводит рекламный код в конце каждой публикации.

    Кто силен в php и wordpress помогите. Думаю, многим будет это интересно.
    П.С. плагины использовать не хочу.
    Вордпресс 3.6
    Пробовал на разных блогах - тоже самое. Решаю одну проблему, вылазит вторая.
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
    проверка на сингл нужна перед выводом рекламного блока:
    PHP:
    echo $text; 
    if(!is_single()) {
        ?> 
        здесь рекламный код 
        <?php 
    }
     
  3. darmoid

    darmoid Киллер

    Регистр.:
    9 мар 2007
    Сообщения:
    372
    Симпатии:
    115
    Получается, код должен быть таким:
    Код:
    add_filter('the_content', 'kama_content_advertise', -10);
    function kama_content_advertise($text){
        global $post;
       
        if( $post->post_type != 'post' )
            return;
       
      echo $text;
    if(is_single()) {
        ?>
        здесь рекламный код
        <?php
    }
    но в таком виде код в файле function.php даже сохранятся не хочет(
     
  4. saifym

    saifym Создатель

    Регистр.:
    14 авг 2013
    Сообщения:
    27
    Симпатии:
    18
    Вроде так должно быть (сейчас нету возможности проверить:(
    PHP:
    function kama_content_advertise($text){
       
      global 
    $post;

      if( 
    $post->post_type != 'post' )
      return;

      echo 
    $text;
       
    if(
    is_single()) {
    echo <<<HTML
    здесь рекламный код
    HTML;
       
    }

    }
     
    darmoid нравится это.