Два проверенных способа найти похожие страницы в WordPress.
Реализовать поиск похожих страниц в WordPress можно либо с помощью плагина, либо через правку файла функций functions.php.
Это не так сложно, как вы думаете, и реализуется достаточно быстро.
Способ №1. Вам нужно будет установить специальный плагин похожих записей Yet Another Related Posts. Этот модуль особенно хорош тем, что позволяет работать и с постами блога, и непосредственно со страницами, и даже с медиафайлами. То есть, вы просто заходите в настройки плагина и включаете его для страниц. Выглядит все это следующим образом:
Из недостатков стоит отметить некоторую нагрузку на БД (базу данных). Кроме того, если ваша база данных является InnoDB, то плагин Yet Another Related Posts не сможет найти похожие заметки.
Способ №2. Данный вариант называется «без плагина», но установить небольшой модуль вам все-таки придется. Как и большинство похожих модулей, Post Tags and Categories for Pages работает «из коробки». После его активации вы увидите пункты «Метки» и «Рубрики» в разделе «Страницы».
Кстати, при создании или редактировании страницы появится специальный блок, где вы сможете вводить все метки/теги. Чтобы протестировать плагин на работоспособность, можно добавить парочку одинаковых метод сразу для нескольких страниц вашего блога.
Далее вы просто заходите в файл функций functions.php и добавляете туда следующий код:
function wpb_related_pages() {
$orig_post = $post;
global $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(
‘post_type’ => ‘page’,
‘tag__in’ => $tag_ids,
‘post__not_in’ => array($post->ID),
‘posts_per_page’=>5
);
$my_query = new WP_Query( $args );
if( $my_query->have_posts() ) {
echo ‘<div id=»relatedpages»><h3>Related Pages</h3><ul>’;
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class=»relatedthumb»><a href=»<? the_permalink()?>» rel=»bookmark» title=»<?php the_title(); ?>»><?php the_post_thumbnail(‘thumb’); ?></a></div>
<div class=»relatedcontent»>
<h3><a href=»<? the_permalink()?>» rel=»bookmark» title=»<?php the_title(); ?>»><?php the_title(); ?></a></h3>
<?php the_time(‘M j, Y’) ?>
</div>
</li>
<? }
echo ‘</ul></div>’;
} else {
echo «No Related Pages Found:»;
}
}
$post = $orig_post;
wp_reset_query();
}
Эта функция позволит вам искать в БД все страницы с похожими метками. Здесь же можно будет изменить значения некоторых интересных параметров, например, posts_per_page.
Чтобы отобразить список похожих страниц, вы поступаете следующим образом. Для начала нужно зайти в файл шаблона page.php или content-page.php, добавить там вот этот код:
<?php wpb_related_pages(); ?>
Чтобы проверить работу функции, достаточно будет зайти на страницы с похожими тегами. Если вам чем-то не понравился внешний вид данного списка, его всегда можно подправить через стили CSS. Какой из двух вариантов лучше, решать исключительно вам. Первый, конечно, проще)