Бахин

Бахин
Рейтинг
75
Регистрация
26.05.2017
Sultan :

Всем привет! Кто знает как можно определить или кто знает как называется это плагин? (Скриншот ниже) Всем спасибо!



если имеется в виду Wordpress оно там есть без плагинов, просто нужно вывести там где Вам нужно

ссылка на предыдущий пост

ссылка на следующий пост

Сергей #:

Категорию поправил.

Но валидатор все равно ругается

Этот фид не проходит проверку.

Кроме того, совместимость с самым широким диапазоном считывателей каналов может быть улучшена путем реализации следующих рекомендаций.

  • Похоже, ваш фид закодирован как "UTF-8", но ваш сервер сообщает "US-ASCII"  [ помощь  ]

  • строка 20  , столбец 8: убедитесь, что описание предшествует содержимому: закодировано  (50 вхождений) [ справка  ]

  • строка 2379  , столбец 0: отсутствует атом: ссылка с rel="self"  [ помощь  ]

после

<language><?php bloginfo_rss('language') ?></language>

добавьте

<?php $blog_description = get_bloginfo( 'description' ); ?>
<description><?php echo $blog_description ?></description>

это

<?php
                $content = strip_tags( get_the_content(), '<h2>,<h3>,<h4>,<img>,<figure>,<figcaption>,<a>' );
                $content = trim(str_replace(chr(194).chr(160), ' ', html_entity_decode($content)))
?>

<?php
                $content=get_post_field('post_content', $post->ID);
                $pattern = '/(<img([^>]*)>)/i';
                $replacement = '<figure>$1<figcaption>
                '.get_the_title().'
                </figcaption>
                </figure>';
                $content = preg_replace( $pattern, $replacement, $content );
?>

замените на

<?php
                $content=get_post_field('post_content', $post->ID);
                $pattern = '/(<img([^>]*)>)/i';
                $replacement = '<figure>$1<figcaption>
                '.get_the_title().'
                </figcaption>
                </figure>';
$content = strip_tags( get_the_content(), '<h2>,<h3>,<h4>,<a>,<img>,<figure>,<figcaption>' );
$content = trim(str_replace(chr(194).chr(160), ' ', html_entity_decode($content)))
?>

<?php $content = preg_replace( $pattern, $replacement, $content ); ?>

насчет кодировки даже не знаю, что у Вас там на сервере... На сегодня пока все...

Сергей #:

исправил.

🤣  ну хоть немного пытайтесь вникнуть

<category><?php $cat = get_the_category(); echo $cat[0]->cat_name; ?></category>

так должно быть

Сергей #:

slag категории не убрали/не добавили - лента пустая 

удалите пока это <category><?php single_cat_title(); ?></category>

Удалил

выше поправил сообщение

Сергей #:
Создал, как написали. Получилось следующее https://vse-o-ede-online.ru/rss-2 

Этого достаточно?

slag категории не убрали/не добавили - лента пустая

'category_name' => 'slag',

это или удалите или закомментируйте вот так

/*'category_name' => 'slag',*/

всегда проверяйте результат, а не тупо используйте, то что Вам дали/написали в интернетах!

UPD: ошибка в RSS категория не отобразилась и забыл добавить это

<category>evergreen</category>

замените это

<category><?php single_cat_title(); ?></category>

на

<?php $cat = get_the_category(); echo $cat[0]->cat_name; ?>
<?php
/**
* Template Name: Yandex Дзен RSS
* Description: XML Файл экспорта для подключения к Яндекс Дзен
* Author: Бахин
*/
$posts = query_posts( array (
'posts_per_page' => 50, /* 50 публикаций в ленте */
'category_name' => 'slag', /* сюда впишите slag категории — если нужно тянуть со всех, то эту строчку удалите или закоментируйте */
'orderby' => 'date',
'order' => 'DESC'
) );
header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
?>

<rss version="2.0"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:media="http://search.yahoo.com/mrss/"
   xmlns:atom="http://www.w3.org/2005/Atom"
   xmlns:georss="http://www.georss.org/georss">

<channel>
    <title><?php bloginfo_rss('name'); ?></title>
    <link><?php bloginfo_rss('url') ?></link>
    <language><?php bloginfo_rss('language') ?></language>
<?php while(have_posts()) : the_post(); ?>
    <item>
        <title><?php the_title_rss(); ?></title>
        <link><?php the_permalink_rss(); ?></link>
        <guid><?php the_permalink_rss(); ?></guid>
        <category><?php single_cat_title(); ?></category>
                <media:rating scheme="urn:simple">nonadult</media:rating>
<?php if ( has_post_thumbnail( $post->ID, true )) {
                $img_link = get_the_post_thumbnail_url($post->ID);
                $id = get_post_thumbnail_id( $post_id );
                $img_type = get_post_mime_type( $id );
?>

        <enclosure url="<?php echo $img_link; ?>" type="<?php echo $img_type ?>" />
<?php }; ?>
        <pubDate><?php echo mysql2date('r', get_post_time('r', true), false); ?></pubDate>

<?php
                $content = strip_tags( get_the_content(), '<h2>,<h3>,<h4>,<img>,<figure>,<figcaption>,<a>' );
                $content = trim(str_replace(chr(194).chr(160), ' ', html_entity_decode($content)))
?>

<?php
                $content=get_post_field('post_content', $post->ID);
                $pattern = '/(<img([^>]*)>)/i';
                $replacement = '<figure>$1<figcaption>
                '.get_the_title().'
                </figcaption>
                </figure>';
                $content = preg_replace( $pattern, $replacement, $content );
?>

        <content:encoded>
          <![CDATA[
                  <?php echo esc_html( $content ) ?>
                  ]]>

        </content:encoded>
    </item>
<?php endwhile; ?>
</channel>
</rss>

создайте в папке вашей  темы файл, например yandex-dzen.php вставьте туда приведенный выше код, создайте на сайте страницу с шаблоном "Yandex Дзен RSS" (он там будет), ссылка на эту страницу и будет фидом для RSS 

Сергей #:

Для меня RSS темный лес😊

Мой обычный выглядит так https://vse-o-ede-online.ru/feed

Как его редактировать не знаю. Пользуюсь плагинами. 

 Плагин Яндекс.Дзен сгенерировал мне такую RSS-ленту  https://vse-o-ede-online.ru/feed/zen/

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

Сергей :

Всем привет! Прочитал новость, что можно постить статьи из ВордПресс на свой канал Яндекс Дзен. Нашел следующий плагин"  Яндекс. Дзен", установил и подал заявку на добавление RSS в Яндекс Дзен.

Получил следующий ответ от техподдержки Яндекса.  "Вижу, в вашей РСС стоит native-no. То есть, вы хотите, чтобы по клику на карточку в ленте материал открывался на сайте, а не на канале. Но сейчас мы не подключаем сайты, настроившие РСС таким образом. Подключаем только нативные, чтоб переход по клику был на канал.

Переданные ненативно материалы не попадут на канал. И система рекомендаций не получит информации. Значит, охват будет низкий. То же с активными подписчиками и доходом.

Прошу изучить информацию о новой разметке и подкорректировать РСС: https://yandex.ru/support/zen/website/rss-modify.html"

В принципе, я согласен на условия Дзена, постить статьи на канал,  с условием конечно обратной ссылки на источник. Но вот как это реализовать запутался.  Может обычный RSS подойдет?
 

Вам же дали страницу с примерами — можно вообще без плагинов сделать 

BrickLayer #:

Ему проще забанить и посомтреть, чем ограничения ставить. Если это он, то можно уже ограничивать, смотреть айпи и имена ботов.
Я с такой фигней сталкиваюсь почти каждый день и яндекс реально ложит сайты.

что это за сервер, что какой-то бот ПС ложит сайт? Подобное может быть, если нет кэширования, ОЗУ с гулькин нос... да вообще железо древней мамонтов, либо на самом сайте есть кривой код php и т.п. (тогда не только яшка положит).

P.S. Для ТС — откройте свой сайт в Firefox, зажмите и держите F5 — сайт падает?

BrickLayer #:

Так дрюкай свой говносайт дальше если не хочешь найти причину.
Я тебе помочь хотел)

🤣 логи надо анализировать в первую очередь, а не ботов пс блокировать... 
Всего: 392