2017-10-24 13 views
0

現在、私のテーマのfunction.phpファイルにコードスニペットがあります。これにより、URL www.mydomain.com/randomにヒットしたときにランダムなページが表示されます。Wordpressで特定のカテゴリのランダムなページを表示するにはどうすればよいですか?

add_action('init','random_post'); 
function random_post() { 
     global $wp; 
     $wp->add_query_var('random'); 
     add_rewrite_rule('random/?$', 'index.php?random=1', 'top'); 
} 

add_action('template_redirect','random_template'); 
function random_template() { 
     if (get_query_var('random') == 1) { 
       $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); 
       foreach($posts as $post) { 
         $link = get_permalink($post); 
       } 
       wp_redirect($link,307); 
       exit; 
     } 
} 

これは私のサイトの1つのカテゴリの投稿にしか適用されません。だから、www.mydomain.com/categories/mycategory/randomのようなもの

PHPは私のものではないので、このコードを修正するにはどうすればよいのか、それとも書くことが可能なのか分かりません。

答えて

0

あなたは、あなたがあなたのURLは今

<?php 
//Template Name: Template random 
//add your random post generate code 
$posts = get_posts('post_type=post&orderby=rand&numberposts=1'); 
       foreach($posts as $post) { 
         echo $link = get_permalink($post); 
       } 
?> 

をページテンプレートを作成して、ちょうど割り当てるwww.domainname.com/randomになりますので、「ランダム」というページを作成することができ、特定のURLでランダムポストをしたい場合ランダムなページテンプレートをその新しい「テンプレートランダム」に置き換えます

+0

これは基本的に私がすでに持っているコードです。私が探しているのは、可能なランダム投稿のプールを1つのカテゴリに限定することです。 –

関連する問題