Вопрос или проблема
Мне нужно создать колонку самых просматриваемых постов в файле шаблона, но на основе количества просмотров постов?
Файл функции
function wpb_get_post_views($postID){
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
Файл шаблона
<?php
$popularpost = new WP_Query( array( 'posts_per_page' => 4, 'meta_key' => 'wpb_post_views_count',
'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();
the_title();
endwhile;
?>
Функция getPostViews() получает общее количество просмотров для каждого поста, в то время как setPostViews() увеличивает счетчик просмотров поста каждый раз, когда пост просматривается.
Необходимо вызвать setPostViews() где-то в вашем single.php, а затем использовать приведенный ниже код для получения постов на основе количества их просмотров.
$args = Array(
'post_type' => 'post',
'posts_per_page' => '5',
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$popular = new WP_Query( $args );
<?php while($popular->have_posts()) : $popular->the_post(); ?>
<?php the_post_thumbnail(); ?> <?php the_title(); ?> <?php the_content(); ?>
<?php endwhile ?>
Ответ или решение
Чтобы отобразить записи с наибольшим количеством просмотров в файле шаблона на WordPress, в этом руководстве рассматриваются шаги, которые необходимо предпринять для их реализации. Мы будем использовать мета-данные для хранения счетчика просмотров и WP_Query для извлечения записей на основе этих данных.
Подход к реализации
-
Функция для получения и установки количества просмотров поста
В первую очередь, вам понадобится функция, которая будет получать и увеличивать количество просмотров каждой записи. Функция
wpb_get_post_views
реализует получение количества просмотров записи:function wpb_get_post_views($postID){ $count_key = 'wpb_post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; }
Рекомендуется добавить аналогичную функцию для увеличения счетчика просмотров. Например:
function setPostViews($postID) { $count_key = 'wpb_post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } }
Примечание: Вызывайте функцию
setPostViews
вsingle.php
, чтобы увеличить счетчик при каждом просмотре записи. -
Показ популярных записей в шаблоне
После того как у вас есть функция для подсчета просмотров, можно извлечь записи с наибольшим количеством просмотров с помощью WP_Query. Пример кода ниже показывает, как это сделать:
$args = array( 'post_type' => 'post', 'posts_per_page' => 5, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ); $popular = new WP_Query( $args ); while($popular->have_posts()) : $popular->the_post(); the_post_thumbnail(); the_title(); the_content(); endwhile;
Соображения SEO
- Ключевые слова: Чтобы улучшить видимость, используйте релевантные ключевые слова, такие как "наибольшие просмотры постов", "WordPress", "популярные записи".
- Внутренние ссылки: Связывайте эту информацию с релевантным контентом на вашем сайте для улучшения внутреннего SEO.
Следуя этим шагам, вы можете эффективно настроить отображение наиболее просмотренных записей на вашем сайте WordPress, привлекая больше внимания ваших читателей и улучшая пользовательский опыт.