Support » Plugin: RSS for Yandex Zen » Как запретить отдавать полный текст статьи в ленту

  • Resolved baldessarini

    (@baldessarini)


    Прежде хочу сказать спасибо за плагин, крутая вещь! Но возникла проблема:
    Плагин отдает в ленту полный текст статьи, а мне нужно, чтоб он отдавал только анонс (или дескрипшн) в настройках выставил, чтоб забирал описание с yoast seo, но плагин все равно отдает полный текст. Подскажите, как быть?

Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author Flector

    (@flector)

    никак. согласно требованиям яндекса в content:encoded должен быть полный текст статьи:

    Полный текст публикации (рекомендованный объем — не менее 300 знаков с пробелами) или видеоролик. Содержит внутри элементы для размещения медиаконтента.

    приделать то можно, но как к этому отнесется яндекс?

    А как приделать? Мне позарез нужно)))

    Plugin Author Flector

    (@flector)

    слушайте, а разве там в дзене весь текст статьи используется?
    разве по клику на заголовок не идет переход на сайт?

    Plugin Author Flector

    (@flector)

    анонсом вы не обойдетесь – тех. поддержка яндекс.дзена абсолютно точно заворачивает все rss-ленты, в которых не хватает контента.

    собственно, точно также они отвечают на вопрос, почему в дзене перестали показываться записи – мол, в статьях недостаточно текста.

    Спасибо конечно за ответы, но мне это лента не для дзена нужна))) Подскажите,где поправить,чтоб вывод дискрипшна только был

    Plugin Author Flector

    (@flector)

    а для чего можно узнать?

    Для другого агрегатора новостей)

    Plugin Author Flector

    (@flector)

    понятно, что для другого – для какого?

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

    
            <content:encoded><![CDATA[
           	<?php 
    		$content = yzen_the_content_feed();
            
            if ($yzexcludetags != 'disabled' && $yzexcludetagslist) {
                $content = yzen_strip_tags_without_content($content, $yzexcludetagslist);
            }
            if ($yzexcludetags2 != 'disabled' && $yzexcludetagslist2) {
                $content = yzen_strip_tags_with_content($content, $yzexcludetagslist2, true);
            }
            $content = wpautop($content); 
            
            if ($yzthumbnail=="enabled" && has_post_thumbnail( get_the_ID() )) {
                $image_data = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID(),$yzselectthumb),$yzselectthumb);
                $content = '<p><img class="thumb" src="'. strtok(get_the_post_thumbnail_url(get_the_ID(),$yzselectthumb), '?') .'" alt="" width="'.$image_data[1].'" height="'.$image_data[2].'" /></p>' . PHP_EOL . $content;
            }    
            
            $pattern = "/<img(.*?)src=\"(.*?)\" sizes=\"(.*?)\" srcset=\"(.*?)\"(.*?)>/s";
            $replacement = '<img src="$2"$5>';
            $content = preg_replace($pattern, $replacement, $content);
            
            $pattern = "/<div id=\"attachment(.*?)class=\"wp-caption(.*?)\">(.*?)<\/div>/s";
            $replacement = '<p>$3';
            $content = preg_replace($pattern, $replacement, $content);
            
            $pattern = "/<p class=\"wp-caption-text\">(.*?)<\/p>/s";
            $replacement = '';
            $content = preg_replace($pattern, $replacement, $content);
            
            $pattern = "/<figure id=\"attachment(.*?)class=\"wp-caption(.*?)>(.*?)<figcaption class=\"wp-caption-text\">(.*?)<\/figcaption>(.*?)<\/figure>/s";
            $replacement = '$3';
            $content = preg_replace($pattern, $replacement, $content);
            
            $pattern = "/<img (.*?)class=\"(.*?)\"(.*?)>/i";
            $replacement = '<img $1$3>';
            $content = preg_replace($pattern, $replacement, $content);
        
            $pattern = "/<img(.*?)title=\"(.*?)\"(.*?)>/i";
            $replacement = '<img$1$3>';
            $content = preg_replace($pattern, $replacement, $content);
            
            $pattern = "/<img(.*?)src=\"(.*?)\"(.*?) alt=\"\"(.*?) \/>/i";
            $replacement = PHP_EOL.'<figure>
            <img src="$2"$3$4>
            <figcaption>
            '. get_the_title_rss() .'
            <span class="copyright">'. $yzimgauthor .'</span>
            </figcaption>
            </figure>'.PHP_EOL;
            $content = preg_replace($pattern, $replacement, $content);
        
            if ($yzfigcaption == "Использовать alt по возможности") {
                $pattern = "/<img(.*?)src=\"(.*?)\"(.*?) alt=\"(.*?)\"(.*?) \/>/i";
                $replacement = PHP_EOL.'<figure>
                <img src="$2"$3$5>
                <figcaption>
                $4
                <span class="copyright">'. $yzimgauthor .'</span>
                </figcaption>
                </figure>'.PHP_EOL;
                $content = preg_replace($pattern, $replacement, $content);
            } else {
                $pattern = "/<img(.*?)src=\"(.*?)\"(.*?) alt=\"(.*?)\"(.*?) \/>/i";
                $replacement = PHP_EOL.'<figure>
                <img src="$2"$3$5>
                <figcaption>
                '. get_the_title_rss() .'
                <span class="copyright">'. $yzimgauthor .'</span>
                </figcaption>
                </figure>'.PHP_EOL;
                $content = preg_replace($pattern, $replacement, $content);
            }    
            
            $pattern = "/<img(.*?)src=\"(.*?)\"(.*?) \/>/i";
            $replacement = PHP_EOL.'<figure>
            <img src="$2"$3>
            <figcaption>
            '. get_the_title_rss() .'
            <span class="copyright">'. $yzimgauthor .'</span>
            </figcaption>
            </figure>'.PHP_EOL;
            $content = preg_replace($pattern, $replacement, $content);
            
            
            if ($yzimgauthorselect == 'Отключить указание автора') {
                $pattern = "/<span class=\"copyright\">(.*?)<\/span>/s";
                $replacement = '';
                $content = preg_replace($pattern, $replacement, $content);
            }   
            if ($yzfigcaption == "Отключить описания") {
                $pattern = "/<figure>(.*?)<figcaption>(.*?)<span class=\"copyright\">(.*?)<\/span>(.*?)<\/figcaption>(.*?)<\/figure>/s";
                $replacement = '<figure>$1<figcaption><span class="copyright">$3</span>$4</figcaption>$5</figure>';
                $content = preg_replace($pattern, $replacement, $content);
            }   
            if ($yzfigcaption == "Отключить описания" && $yzimgauthorselect == 'Отключить указание автора') {
                $pattern = "/<figure>(.*?)<figcaption>(.*?)<\/figcaption>(.*?)<\/figure>/s";
                $replacement = '<figure>$1$3</figure>';
                $content = preg_replace($pattern, $replacement, $content);
            }        
            
            if ($yzexcludecontent!='disabled' && $yzexcludecontentlist) {
                $textAr = explode("\n", trim($yzexcludecontentlist));
                $textAr = array_filter($textAr, 'trim');
                foreach ($textAr as $line) {
                    $line = trim($line);
                    $content = preg_replace('/'.$line.'/i','', $content);
                }    
            }    
            
            $content = preg_replace('/<p>https:\/\/youtu.*?<\/p>/i','', $content);
            $content = preg_replace('/<p>https:\/\/www.youtu.*?<\/p>/i','', $content);
        
    		echo $content;
    		?>]]></content:encoded>
    
Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Как запретить отдавать полный текст статьи в ленту’ is closed to new replies.