ingenious_motherfucker
@ingenious_motherfucker
Решаю задачки

Как в Wordpress убрать дубль кода плагинов в анонсах последних новостей?

Здравствуйте! Сделал руками вывод последних новостей на 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();
						?>
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
ingenious_motherfucker
@ingenious_motherfucker Автор вопроса
Решаю задачки
Нашел решение, сделал вывод текста анонса по этой инструкции: dimox.name/excerpt-with-a-custom-number-of-words, и проблема ушла
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы