Артём Мáлков

Вывод похожих материалов в записи без плагина на WordPress

18 авг7 коммАртём Мáлков

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

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

Сегодня мы немножко поработаем над поведенческими факторами сайта. Что в них входит?

Честно говоря, много чего, в том числе – похожие материалы, которыми мы сегодня с вами и займемся.

Похожие материалы с сортировкой по тегам

В WordPress существует такое понятие, как «таксономия» – это теги, которые мы указываем к каждой статье. В тегах мы перебираем ключевые слова, в результате чего по тому или иному ключу мы получаем список статей, как бы имеющих связь между собой.

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

1. Подключитесь к вашему сайту по FTP.

2. В папке вашей темы (адрес /wp-content/themes/название темы) откройте файл, отвечающий за полную версию материала (по умолчанию это файл single.php).

3. В нужное место шаблона вставьте код вывода похожих материалов:

<?php

	global $post;
	
	$backup = $post;
	$tags = wp_get_post_tags($post->ID);
	
	if($tags) {
	
		$tag_ids = array();
		
		foreach($tags as $individual_tag) {
		
			$tag_ids[] = $individual_tag->term_id;
			
		}
		
		$args = array(
			"tag__in" => $tag_ids,
			"post__not_in" => array($post->ID),
			"posts_per_page" => 3, // Количество похожих записей.
			"ignore_sticky_posts" => 1
		);
		
		$my_query = new wp_query($args);
		
		if($my_query->have_posts()) {
		
			echo "<h2>Похожие статьи</h2>";
			
			while($my_query->have_posts()) {
			
				$my_query->the_post();
				
?>

	// Ваш вид

<?php

			}
			
		}
		
	}
	
	$post = $backup;
	
	wp_reset_query();
	
?>

Обратите внимание, что дизайн (вид) ваших похожих материалов вы делаете сами.

Для примера, вместо «// Ваш вид» вы можете вставить код:

<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>

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

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

4. Сохраните все изменения и отправьте файл обратно на сайт.

Теперь вы можете посмотреть результат вывода похожих материалов, зайдя в любую из ваших записей.

Похожие материалы с сортировкой по рубрикам (категориям)

Предположим, что у вас разносторонний сайт. На нем есть статьи о рыбалке и, например, о саде и огороде. Если рыбак зашел на ваш сайт, логично, что лучше ему показать похожие материалы из той же категории, нежели из категории сада и огорода.

В таком случае мы повышаем время его пребывания на сайте.

Для реализации делаем все, как в предыдущем примере, меняется лишь используемый скрипт.

1. Подключаемся к сайту по FTP.

2. В папке вашей темы (адрес /wp-content/themes/название темы) открываем файл, отвечающий за полную версию материала (по умолчанию это файл single.php).

3. В нужное место шаблона вставляем код вывода похожих материалов:

<?php

	global $post;
	
	$backup = $post;
	
	$categories = get_the_category($post->ID);
	
	if($categories) {
	
		$categories_ids = array();
		
		foreach($categories as $individual_category) {
		
			$category_ids[] = $individual_category->term_id;
			
		}
			
		$args = array(
			"category__in" => $category_ids,
			"post__not_in" => array($post->ID),
			"posts_per_page" => 3, // Количество похожих записей.
			"ignore_sticky_posts" => 1
		);
		
		$my_query = new wp_query($args);
		
		if($my_query->have_posts()) {
		
			echo "<h2>Похожие статьи</h2>";
			
			while ($my_query->have_posts()) {
			
				$my_query->the_post();
?>

	// Ваш вид

<?php

			}
			
		}
		
	}
	
	$post = $backup;
	
	wp_reset_query();
	
?>

Обратите внимание, что дизайн (вид) ваших похожих материалов вы делаете сами.

Для примера, вместо «// Ваш вид» вы можете вставить код:

<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>

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

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

4. Сохраняем все изменения и отправляем файл обратно на сайт.

Теперь вы можете посмотреть результат вывода похожих материалов, зайдя в любой из ваших записей.

Рекомендуем к просмотру
Как создать новую область для виджета в WordPress?
Статьи и советы
Как исключить вывод постов из определенных рубрик на главной странице в WordPress?
Хаки
Вывод записей из нужных рубрик в WordPress
Статьи и советы
7
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 1
    1083
      •  Команда Pandoge
    16 апр в 14:09

    Mika,

    <?php

    $thumb_url = wp_get_attachment_image_src(get_post_thumbnail_id(), "full", true);

    echo $thumb_url[0]; // Выведет ссылку на миниатюру.

    ?>

    full - размер миниатюры. Стандартные размеры - thumbnail, medium, large, и full.

    • 1
    8
      •  Проверенный
    16 апр в 09:48

    Как поставить ссылку на миниатюру записи?

    • 1
    766
      •  Гости
    15 янв в 21:38

    Не могли бы со мной поделиться переписанным скриптом?)

    • 6
    1083
      •  Команда Pandoge
    15 янв в 20:45

    Scorp, видел Ваше сообщение на почте. Небольшой загруз сейчас. Переписали скрипт.

    • 1
    766
      •  Гости
    15 янв в 20:30

    Артём, а Вы не подскажите, что вы изменили в js файле шариков, что они теперь не играют при нажатии на клавиши? =)

    • 8
    1083
      •  Команда Pandoge
    13 янв в 13:15

    Дмитрий, тут Вы сами смотрите на структуру Вашего сайта. Знаю точно, что многие ставят этот заголовок в один из H.

    За замечание по шарикам спасибо - поправили.

    • 1
    766
      •  Гости
    13 янв в 07:20

    Хорошо ли использовать H2 в данном случае:

    echo "<h2>Похожие статьи</h2>

    Если на странице идет структура h1, h2, h3, то получается, что потом опять будет идти h2.

    P.S - Что-то ваши шарики новогодние играют при нажатии определенных клавиш, h, запятая, точка и т. д.

Подняться наверх
Регистрация на сайте
Pandoge - уникальный проект, который собрал на своих страницах большой опыт многих людей в сфере сайтостроения.Присоединяйся и ты к сообществу, получай неограниченные знания и начинай творить свою мечту!Нажимая кнопку «Регистрация» вы даете согласие на обработку своих персональных данных.
Имя и фамилия
E-mail
Логин
Пароль
Регистрация
Pandoge