2017-12-27 526 views
0

我需要能夠在一個單一類別中隨機化帖子。我目前在functions.php中有以下代碼:如何在wordpress中的單一類別中顯示隨機帖子

<?php 

add_action('pre_get_posts', 'generate_random_category_posts', 100); 
function generate_random_category_posts($query) { 
    $catto = get_queried_object(); 
    if ($query->is_category() && $query->is_main_query() && $catto->term_id = 9) { 
     $query->set('orderby', 'rand'); 
    } 
} 

?> 

但問題是它會隨機化所有類別中的帖子。有人可以幫助我,並告訴我如何只能在類別9中隨機化帖子?

+0

你是否在使用類別或定製分類術語? –

+0

如果是類別嘗試: query_posts(陣列( '的OrderBy'=> '蘭特', '貓'=> 9, 'posts_per_page'=> 1 )); –

回答

1

您在條件中使用賦值運算符$catto->term_id = 9,而不是如此的條件運算符:$catto->term_id === 9

幫助你避免這些錯誤,yoda conditions意志......

+0

哇,現在它工作。我對這個錯誤感到非常慚愧,並希望我今後的問題不會那麼愚蠢。非常感謝您爲我展示正確的方向。 –

-1

你可以用兩種不同的方式顯示來自這一類的帖子寫的類別名稱

<?php 
    // write category name that you will display it 
$the_query = new WP_Query(array ('orderby' => 'rand', 'posts_per_page' => '5' ,'category_name'=>'your_category_name')); 
            // output the random post 
            while ($the_query->have_posts()) : $the_query->the_post();?> 
             <li> 
             <a href="#"> 
              <?php the_post_thumbnail(); 
              ?> 
             </a> 
             <h3><a href="<?php echo esc_url(get_permalink()); ?>"><?php echo limit_word_count(the_title()); ?></a></h3> 
            <div class="meta-post"> 
             <a href="<?php echo the_author_link(); ?>"> 
              <?php the_author(); ?> 
             </a> 
             <em></em> 
             <span> 
              <?php echo get_the_date('d M Y'); ?> 
             </span> 

            </div> 
           </li> 

方式二寫類別ID爲更多信息,打開此鏈接random posts如果你想顯示來自functions.php的隨機文章查看鏈接random posts

+0

非常感謝。但是定製循環的問題是分頁問題。你能告訴我任何如何使用自定義循環分頁代碼示例嗎? –

相關問題