如何在x类别中显示24小时的更改帖子链接

时间:2011-07-27 作者:Fatih Toprak

Here is an example

类别1有6个岗位:(岗位1、岗位2、岗位3、岗位4等)

类别2有6个岗位:(岗位1、岗位2、岗位3、岗位4等)

i want to display random post like this:

今天的第一类随机帖子:帖子2今天的第二类随机帖子:帖子5

但这些帖子必须每24小时更换一次。有可能吗。谢谢

(抱歉我的英语不好)

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

您可以始终使用get\\u posts()返回随机帖子,但每次加载页面时都会更改。所以,给你一个主意。

在插件文件中,设置wp_cron

<?php
/* Your plugin header goes here */

register_activation_hook( __FILE__, \'wpse24234_activation\' );
function wpseo24234_activation()
{
    wp_schedule_event( time(), \'daily\', \'wpse24234_daily\' );
}
然后将一个函数挂接到cron操作中,该操作获取一个随机帖子(通过get\\u posts())并将其存储在transient 每24小时到期一次。

add_action( \'wpse24234_daily\', \'wpse24234_daily_cb\' );
function wpse24234_daily_cb()
{
    $posts = get_posts( array( \'cat\' => YOUR_CATEGORY_ID_HERE, \'numberposts\' => 1, \'orderby\' => \'rand\' ) );
    if( ! empty( $posts ) )
        set_transient( \'cat_1_post\', $posts[0]->ID, 60 * 60 * 12 );
}
然后在前端,您可以使用get transient获取post ID,并使用该ID获取您想要的任何其他内容。

<?php
/* Somewhere on your site */
$id = get_transient( \'cat_1_post\' );

$link = \'<a href="\' . get_permalink( $id ) . \'">\' . get_the_title( $id ) . \'</a>\';
?>

Todays random post from Category 1 is <?php echo $link; ?>
当然,你必须做一些测试,看看这是否对你有用。

结束

相关推荐

WP_Query and next_posts_link

我不知道如何使next\\u posts\\u link()在自定义WP\\u查询中工作。功能如下:function artists() { echo \'<div id=\"artists\">\'; $args = array( \'post_type\' => \'artist\', \'posts_per_page\' => 3, \'paged\' => get_query_var( \'page\' )); $loop = ne