Что касается отображения похожих записей в WordPress, существует несколько плагинов, которые упрощают этот процесс. Однако, если вы предпочитаете, чтобы ваш веб-сайт был легким и избегал использования дополнительных плагинов, вы можете добиться той же функциональности, внедрив собственный код. В этой статье мы рассмотрим различные методы отображения похожих сообщений в WordPress без использования плагинов. Мы предоставим примеры кода, которые помогут вам эффективно реализовать каждый метод.
<?php
$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' => 5, // Number of related posts to display
'ignore_sticky_posts' => 1
);
$related_query = new WP_Query($args);
if ($related_query->have_posts()) {
echo '<ul>';
while ($related_query->have_posts()) {
$related_query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
}
?>
Метод 2: использование пользовательских мета-сообщений
Другой подход — использовать пользовательские мета-сообщения для установления связей между связанными сообщениями. Вы можете создать настраиваемое поле в редакторе сообщений и назначить ему соответствующие идентификаторы сообщений. Вот пример фрагмента кода для отображения связанных сообщений с использованием пользовательских метаданных сообщений:
<?php
$related_post_ids = get_post_meta($post->ID, 'related_posts', true);
if ($related_post_ids) {
$args = array(
'post__in' => $related_post_ids,
'post__not_in' => array($post->ID),
'posts_per_page' => 5, // Number of related posts to display
'ignore_sticky_posts' => 1
);
$related_query = new WP_Query($args);
if ($related_query->have_posts()) {
echo '<ul>';
while ($related_query->have_posts()) {
$related_query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
}
?>
Метод 3: использование анализа контента публикаций.
Вы также можете проанализировать содержание своих сообщений, чтобы определить связанность. Этот метод предполагает сравнение содержания текущего сообщения с другими сообщениями и отображение тех из них, которые имеют наибольшее сходство. Вот пример фрагмента кода с использованием анализа контента публикации:
<?php
$current_post_id = $post->ID;
$current_post_content = get_post_field('post_content', $current_post_id);
$related_posts = new WP_Query(array(
'posts_per_page' => 5, // Number of related posts to display
'ignore_sticky_posts' => 1,
'orderby' => 'relevance', // Order by relevance/similarity
'post__not_in' => array($current_post_id),
's' => $current_post_content // Use post content for comparison
));
if ($related_posts->have_posts()) {
echo '<ul>';
while ($related_posts->have_posts()) {
$related_posts->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
?>
Реализуя вышеуказанные методы, вы можете отображать похожие записи в WordPress без необходимости использования дополнительных плагинов. Независимо от того, решите ли вы использовать категории, пользовательские мета-посты или контент-анализ, эти примеры кода помогут вам достичь желаемой функциональности. Не забудьте настроить фрагменты кода в соответствии со своими требованиями и предпочтениями в дизайне.