Поддержка Проблемы и решения Как добавить свой код во все анонсы «excerpts»?

  • Здравствуйте!
    Подскажите, пожалуйста, как добавить произвольный код после всех анонсов, по-моему это после функции excerpts, чтобы этот код отображался и на главной, и в категориях.
    Я пользуюсь плагином Header and Footer, там есть функция:
    «Вставки в выборках
    Работают только на страницах Категорий и Тегов.»
    Но мне надо чтобы эти вставки в выборках работали и на главной, поставить кнопку share после каждого анонса и т.п.

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • ищите the_excerpt в файлах темы и после нее ставите ваш код.

    Не хотелось бы трогать тему, ведь она периодически обновляется.
    Существует плагин чтобы добавлял пользовательский код после the_excerpt?

    ну сделайте свой плагин.
    хук на the_excerpt — дописываете там ваш код.
    и вместо functions.php темы оформляете это как плагин.

    Проблема в том, что я в этом ничего не понимаю.
    Поэтому ищу готовый плагин.

    
    <?php
    /*
    Plugin Name: Excerpt Code
    Plugin URI: 
    Description: Добавляем код к цитатам.
    Version: 1.00
    Author: Flector
    */ 
    
    function excerpt_code( $output ) {
      if ( ! is_attachment() ) {
        $output .= '<br /><br /> тут ваш экранированный код';
      }
      return $output;
    }
    add_filter( 'get_the_excerpt', 'excerpt_code' );
    
    ?>
    

    сохраните этот код под именем excerpt.php в папку plugins. активируйте плагин — и готово.

    Не хотелось бы трогать тему, ведь она периодически обновляется.

    Для того, чтобы можно было вносить изменения в темы и при этом не потерять возможность обновления — в ВП существует механизм дочерних тем.

    • Ответ изменён 7 лет, 7 месяцев назад пользователем SeVlad.

    сохраните этот код под именем excerpt.php в папку plugins. активируйте плагин — и готово.

    Спасибо огромное! Текст выводится.

    А подскажите, плз, как вставить такой код?

    Просмотров: <?php
        if (function_exists('wpp_get_views')) 
            echo wpp_get_views( get_the_ID() ); // This will only work when used inside the loop!
    ?>

    Я вставлял как есть, просто белый экран, пробовал через сниппет [snippet_1], выводится текстом.

    Для того, чтобы можно было вносить изменения в темы и при этом не потерять возможность обновления — в ВП существует механизм дочерних тем.

    Там есть дочерняя тема, но в ней только 2 файла style.css и functions.php
    И опять же, что с ними делать? Надо знания иметь или действовать строго по инструкции.

    
    <?php
    /*
    Plugin Name: Excerpt Code
    Plugin URI: 
    Description: Добавляем код к цитатам.
    Version: 1.00
    Author: Flector
    */ 
    
    function excerpt_code( $output ) {
      if (function_exists('wpp_get_views')) $temp = wpp_get_views( get_the_ID() );  
      if ( ! is_attachment() ) {
        $output .= '<br /><br /> Просмотров: ' . $temp;
      }
      return $output;
    }
    add_filter( 'get_the_excerpt', 'excerpt_code' );
    
    ?>
    

    Там есть дочерняя тема, но в ней только 2 файла style.css и functions.php

    скопируйте в нее те файлы основной темы, которые будете изменять

    Flector, работает! Спасибо!!! Я несколько дней искал рабочий вариант, чтобы везде показывалось. :)))

    А как этот плагин можно еще доработать? Чтобы самому код вставлять html?
    В идеале надо такое:
    null
    Только у меня пока нет рейтинга, вместо него просто счетчик просмотров записи.

    И еще не знаете какая самая хорошая система рейтинга? Я сколько их переставил, пока какая-то ерунда или косяки вылазят с отображением.

    • Ответ изменён 7 лет, 7 месяцев назад пользователем ezh.

    с html-кодом изначальный вариант плагина подойдет.
    только код надо будет экранировать — то есть перед кавычками ставить символ \

    Так там всё вперемешку идёт, и просто html код и php код.
    А можно сделать типа окошка, туда вставил весь код и нажал сохранить, а оно само экранирует?

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    А можно сделать типа окошка, туда вставил весь код и нажал сохранить, а оно само экранирует?

    В примере Flector используются одинарные кавычки, поэтому если у Вас в html-коде используются только двойные, то их экранировать не нужно.

    Да php код не вставляется же легко и просто, если в этом не понимаешь. Его надо как-то переделывать ещё. Идеальный вариант, чтобы плагин сам всё обрабатывал, а ты только закидываешь туда что тебе нужно. 🙂
    Допустим в левом углу блока под анонсом выполняется код (просмотры, рейтинг), а в правом простой html кнопка share. Вот как их совместить? Это надо прямо плагин писать отдельный.
    А можно сделать, чтобы просто в окошко формы закинул, и оно само сформировало?

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Как добавить свой код во все анонсы «excerpts»?» закрыта для новых ответов.