实现这一点的一个非常简单的方法如下:;
add_action(\'template_redirect\', \'recently_read\');
function recently_read(){
global $post;
//only run this function for the posts post_type
if ( !is_single() )
return;
//get the current time in the format of: 2013-02-22 11:55:51
$timestamp = current_time(\'mysql\');
//add the $timestamp variable to the meta_key for this post
update_post_meta($post->ID, \'reading_this\', $timestamp);
}
注:以上功能进入主题
functions.php
文件,并连接到
template_redirect
在向用户显示页面之前激发的操作。此时,在幕后
recently_read
函数将启动并在键下添加时间戳
reading_this
(根据你的喜好命名)。每次查看此帖子或任何帖子时都会发生这种情况。如果给定帖子已经存在时间戳,那么它将相应地更新时间戳。
然后,要使用此键检索帖子列表,您可以在希望这些帖子显示的主题文件中执行以下操作:;
$recently_read = get_posts(
array(
\'posts_per_page\' => 5, //how many posts we want to show at most
\'meta_key\' => \'reading_this\', //get posts by our meta key
\'orderby\' => \'meta_value\', //order posts by the value stored in the key
\'order\' => \'DESC\' //order posts in descending order (newest to oldest)
)
);
foreach ($recently_read as $read) {
echo \'<a href="\'. get_permalink($read->ID) . \'">\'. $read->post_title .\'</a>\';
}
上述内容可以通过多种方式进行改进,但这肯定会让您开始。
注意:这没有任何逻辑来确定帖子是否在最后X分钟内查看。为此,您可以将自己的逻辑应用于名为reading_this
并根据您的喜好操纵数据。