gpt4 book ai didi

php - 我想在 wordpress 中显示(今天最受欢迎的帖子)并且这个列表应该每天自动更新

转载 作者:行者123 更新时间:2023-11-28 03:08:24 24 4
gpt4 key购买 nike

我确实使用一个函数显示了我网站上最受欢迎的帖子,但问题是这个函数显示了所有时间最流行的帖子,我不想要这个。

我想显示(今天 HitTest 门的帖子)并且这个列表应该每天自动更新。

注意我不想使用插件

这是在 functions.php 中

<?php //fucntion to sort posts bade in thier views.
$args_views = array( 'posts_per_page' => 6, /* get 4 posts, or set -1 for all */
'orderby' => 'meta_value', /* this will look at the meta_key you set below */
'meta_key' => 'post_views_count',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish'
);
$myposts = get_posts( $args );
foreach( $myposts as $mypost ) {
/* do things here */
}
?>

这是我在 index.php 中的查询

<div class="container">
<?php query_posts($args_views);?>
<?php while ( have_posts() ) : the_post(); ?>
<div id="archive-thumbnail" class="thumbnail">
<div class=" <?php if ( has_catch_that_image() ) { ?>archive-body <?php } ?>">
<div id="archive-img"><img class="media-object-sp" src="<?php echo has_catch_that_image(); ?>" alt="..."></div>
<h4 id="archive-thumbnail-title" style="color:#337ab7;"><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></h4>
<p id="archive-thumbnail-excerpt"><?php the_excerpt();?></p>
<p class="text-muted"> by: <?php the_author(); ?> | before<?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ''; ?></p></div>

</div>
<?php endwhile; ?>
</div>

这是在 Snigle.php 中

    <?php // this is to count the views
setPostViews(get_the_ID()); ?>

最佳答案

您可以设置 WordPress CRON 作业以每天重置帖子查看计数。请注意:每天都会删除所有观看次数,您无法取回这些观看次数。

设置 CRON 和重置观看次数的示例代码:

// Schedule an action if it's not already scheduled
if ( ! wp_next_scheduled( 'subh_daily_cron_action' ) ) {
wp_schedule_event( time(), 'daily', 'subh_daily_cron_action' );
}

/**
* Reset the post views on daily basis.
*/
function subh_reset_postview_counters() {
$count_key = 'post_views_count';
$args = array(
'numberposts' => -1,
'meta_key' => $count_key,
'post_type' => 'post',
'post_status' => 'publish',
'suppress_filters' => true
);

$postslist = get_posts( $args );
foreach ( $postslist as $singlepost ) {
delete_post_meta( $singlepost->ID, $count_key );
}
}
add_action( 'subh_daily_cron_action', 'subh_reset_postview_counters' ); // Hook into that action that will fire daily.

将以上代码粘贴到您当前主题的 functions.php 文件中。如果可能,请尝试使用子主题(尽管这是可选的)。

有关通过 WordPress 设置 CRON 作业的更多信息,请访问:https://codex.wordpress.org/Function_Reference/wp_schedule_event

关于php - 我想在 wordpress 中显示(今天最受欢迎的帖子)并且这个列表应该每天自动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31614161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com