RSS-лента для Пульса

Тема в разделе "Настройка сайта", создана пользователем Aqvamarin, 23 фев 2019.

  1. Aqvamarin

    Aqvamarin Webmaster

    В стандартом виде Wordpress отдает RSS-ленту без миниатюр, для того чтобы исправить это дело нам нужно сделать следующее:
    1. Залогиниться в админку своего сайта: https://вашсайт.ру/wp-login.php
    2. Выбрать в левом меню: Внешний вид -> Редактор. Там должна быть ваша активная тема, нас интересует Функция темы (functions.php)
    СКРИН1.png


    Важно: перед тем, как вносить изменения, скопируйте содержимое файла в отдельный документ, чтобы если вдруг что-то пойдет не так, вы смогли вернуть все обратно!

    3. Далее опускаемся в самый низ документа и добавляем следующий код:
    function add_featured_image_in_rss() {

    if ( function_exists( 'get_the_image' ) && ( $featured_image = get_the_image('format=array&echo=0') ) ) {

    $featured_image[0] = $featured_image['url'];

    } elseif ( function_exists( 'has_post_thumbnail' ) and has_post_thumbnail() ) {

    $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'post-thumbnail' );

    } elseif ( function_exists( 'get_post_thumbnail_src' ) ) {

    $featured_image = get_post_thumbnail_src();

    if ( preg_match( '|^<img src="([^"]+)"|', $featured_image[0], $m ) )

    $featured_image[0] = $m[1];

    } else {

    $featured_image = false;

    }

    if ( ! empty( $featured_image ) ) {

    echo "\t" . '<enclosure url="' . $featured_image[0] . '" type="image/jpeg"/>' . "\n";

    }



    }

    add_action( 'rss2_item', 'add_featured_image_in_rss',100 );


    4. Убеждаемся, что лента доступа по адресу: https://вашсайт.ру/feed/


    5. Проверяем через поиск на странице (Ctrl + F), чтобы в ленте появилось вот такое:

    СКРИН1.png СКРИН2.png

    6. Дальше сканируем валидатором, что нет ошибок: https://pulse.mail.ru/check_rss.

    СКРИН3.jpg

    Как изменить кол-во постов, попадающих в ленту:

    Для этого в админке заходим: Настройки -> Чтение, там находим: В RSS-лентах отображать последние, ставим сколько нужно.

    Как убрать из ленты посты определенной категории или автора:

    Если вам необходимо убрать из RSS-ленты посты определенной категории (например 18+), либо определенного автора, то тут поможет следующий код, добавлять в funсtions.php:

    function exclude_category($query) { // исключаемизфидакопипаст

    if ( $query->is_feed ) {

    $query->set('author__not_in', array(6498,4472)); //череззапятуюуказываем ID авторов

    $query->set('category__not_in', array(14987)); //череззапятуюуказываем ID рубрик

    }

    return $query;

    }

    add_filter('pre_get_posts', 'exclude_category');

    Автор инструкции специально для форума Вебледи: Никита Лапик
     
    Aqvamarin, 23 фев 2019
    #1
    efa_32, Seremetra, puma и 8 другим нравится это.
  2. Toriya

    Toriya Webmaster

    Спасибооооо!
     
    Toriya, 23 фев 2019
    #2
  3. Yanas

    Yanas Webmaster

    Большущее спасибо. Вот прямо от всей души.
     
    #3
  4. Вероника

    Вероника Webmaster

    Спасибо! Вот прямо сейчас попробую установить! надеюсь, что не накосячу. :crazy:
     
    Вероника, 24 фев 2019
    #4
  5. Asenka

    Asenka Webmaster

    Вот спасибо! Супер-инструкция:ura:
     
    Asenka, 24 фев 2019
    #5
  6. Вероника

    Вероника Webmaster

    Девочки, а кто-то уже пробовал?
    У меня вот что выдало
    Ваши изменения в коде PHP были отменены из за ошибки на строке 51 файла wp-content/themes/fmedica-two-child/functions.php. Исправьте и попробуйте пересохранить.
    сама строчка - add_action( 'rss2_item', 'add_featured_image_in_rss',100 );
     
    Вероника, 24 фев 2019
    #6
  7. Toriya

    Toriya Webmaster

    В общем вчера обнаружила у себя проблемы с сайтом. Думала, что это из-за обновления версии ВП. О них писала здесь: http://webledi.club/threads/wordpress-5-0-novyj-redaktor.2903/page-2#post-95660
    Оказалось, что это после добавления данного кода в файл functions.php темы.
    Делала все примерно в одно время. Сначала изменила файл functions.php, потом в этот же день появилась свежая версия ВП, сделала бэкап и через некоторое время обновила ВП.
    Сначала исчезла админка. Восстановила сайт из бэкапа. Админка вернулась. Сегодня начала работать на сайте и обнаружила следующие проблемы:
    1. После выполнения некоторых действия, например, удаления спамных комментариев в админке, страница обновляется - белый лист. Возврат назад - все нормально.
    2. Загружаю статью. Черновик записи сохранился нормально. Залила фото. Стала вставлять их в статью, не вставляются. Захожу на страницу админки с медафайлами там пусто. По ФТП все на месте.
    Повспоминала, что еще делала вчера. Обновляла один плагин. Деактивировала его, не помогло. Проблема осталась.
    Вспомнила про изменение functions.php темы. Убрала добавленный код - все восстановилось. Проблема в коде.

    Кто его ставил, у вас нет проблем с работоспособностью сайта? Если что, у меня тема Настина FCook.
     
    Toriya, 25 фев 2019
    #7
  8. Вероника

    Вероника Webmaster

    У меня тож Настина тема, вторая медицинская.
    Вопрос такой: изменения в файл надо где вносить: в в родительской или в "детской" теме? Я вносила в последней, не сработало.
     
    Вероника, 25 фев 2019
    #8