寻找一种在点击链接时将读者带到随机帖子的方法

时间:2013-01-22 作者:bran

我做了一些研究,但找不到方法。我不想在侧边栏上显示随机帖子的小部件列表。我希望读者能够点击一个链接,上面写着“随机帖子”,这将把他们带到我档案中的随机帖子。我该怎么做?我是php noob,所以工作代码片段将不胜感激。

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

看来你在找Random Post Link.

为了完整起见,这里有一些代码(插件更复杂一些,因为它将以前的随机帖子存储为cookie,所以不会重复)。

(以下基于Scribu的上述插件)

//Create random url - use this where you want the link to be displayed
$url = add_query_arg( \'wpse82608\', \'random\', trailingslashit( get_bloginfo( \'url\' ) ) );
printf( \'<a href="%s" > Random Post </a>\', $url );
然后插入随机url(这可以放在插件中,如果必须的话,也可以放在主题的functions.php)

add_action(\'init\', \'wpse82608_random_post_redirect\' );
function wpse82608_random_post_redirect(){

    if( empty( $_GET[\'wpse82608\'] ) || \'random\' != $_GET[\'wpse82608\'] )
        return;

    //Get a random post
    $posts = get_posts( array(
        \'orderby\' => \'rand\',
        \'showposts\' => 1,
     ));

    //If no posts founds - redirect to site.
    if ( empty($posts) ){
        wp_redirect( get_bloginfo( \'url\' ) );
        exit();
    }

    //Get the random post\'s ID
    $id = $posts[0]->ID;

    //Redirect to post
    wp_redirect( get_permalink( $id ) );
    exit();
}
这是未经测试的

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register