我如何加载2个随机页面?

时间:2017-10-31 作者:Rick Alvarez

我的问题很简单:每次访问者访问我的页面时,我都想显示不同的页面。目前有2页,但可能更多。我找到了以下代码:

$rand = rand(1,2);

switch($rand){

    case 1:
        get_template_part(\'template1\');
    break;

    case 2:
        get_template_part(\'template2\');
    break;       
}
但我不想要模板部分,我真的需要让它通过2个(或更多)完整的页面,我可以通过URL或slug定义。或者也可以是帖子,只要我能让它们完全不同(这是对完全不同的页面进行多元测试,其中包括一些我想衡量的用户交互)

How can I achieve this?

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

您可以使用此代码将用户从主页重定向到随机页面(将其粘贴到functions.php)

function my_homepage_redirect() {
    if ( is_home() || is_front_page() ){
        $page = get_posts( [
            \'post_type\' => \'post\',
            \'posts_per_page\' => 1,
            \'category\' => 1, // your category ID
            \'orderby\' => \'rand\',
            \'fields\' => \'ids\'
        ] );

        if ( empty( $page ) ){
            return;
        }

        wp_redirect( get_permalink( $page[0] ) );
        exit;
    }
}
add_action( \'template_redirect\', \'my_homepage_redirect\' );
如果要选择随机页面或随机帖子,可以修改“post\\u type”参数:\'post_type\' => [ \'post\', \'page\' ],

结束

相关推荐

How to get link to homepage

我试过了get_site_url();, get_bloginfo(\'wpurl\') 和home_url(); 但他们都给了我一个指向当前页面而不是主页的链接。