Здравствуйте! Сделал руками вывод последних новостей на WP_query, настроил еще функцию, чтобы выводило лишь указанное количество слов (код чуть ниже). Проблема в том, что такие плагины как Related posts, AdMan, и другие, которые добавляют код в контент, дублируют его в каждую из последних новостей.
Можно как-то запретить плагинам внедрять код в конкретный блок, или показать им, что здесь не основной контент? Может, есть аналог WP_query, в который такие плагины не лезут?
Вот функция обработки контента, чтобы выводило первые n слов:
function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'...';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/\[.+\]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}
Вот код цикла вывода последних новостей на всякий случай (скорее всего, дело в функции выше, потому что если убрать ее из цикла, то дубль плагинов тоже исчезает, но и цикл тоже напишу на всякий случай):
<?php
$the_query = new WP_Query('posts_per_page=2');
while($the_query->have_posts()): $the_query -> the_post();
?>
<div class="sidebar-last">
<a href="<?php the_permalink() ?>">
<div class="sidebar-img" style="background: url(
<?php
$thumb_id = get_post_thumbnail_id();
$thumb_url = wp_get_attachment_image_src($thumb_id,'thumbnail-size', true);
echo $thumb_url[0];
?>
) top center no-repeat">
</div>
</a>
<div class="wrap-last">
<a href="<?php the_permalink() ?>">
<div class="last-title">
<?php the_title() ?>
</div>
</a>
<?php $category = get_the_category(); ?>
<a href="<?php echo get_category_link($category[0]->cat_ID) ?>">
<div class="last-category">
<?php
echo $category[0]->cat_name;
?>
</div>
</a>
<div class="last-desc">
<?php echo content(23) ?>
</div>
</div>
</div>
<?php
endwhile;
wp_reset_postdata();
?>