2017-11-18 92 views
0

我已經設置了一個自定義的帖子類型,用於在Wordpress中創建一個Staff目錄。當我添加新員工時,他們會自動按照所有帖子的順序出現,這對於大多數帖子類型都是有意義的。可以添加最新的自定義帖子類型的最新帖子?

使用Simple Custom Post Order來重新安排帖子是非常容易的,但它也是一個麻煩做每一次,所以我很好奇,看看有沒有人知道是否有辦法自動添加新的帖子最後的順序?

使用的functions.php非常基本的代碼添加後類型:

function create_posttype() { 

register_post_type('staff', 

    array(
     'labels' => array(
      'name' => __('Staff'), 
      'singular_name' => __('Staff') 
     ), 
     'public' => true, 
     'has_archive' => true, 
     'rewrite' => array('slug' => 'staff'), 
    ) 
); 
} 

add_action('init', 'create_posttype'); 

回答

0

其實有很多方法可以做到這一點,但這裏是一個:

添加操作來改變在你的查詢中的ORDER參數如下所示。

add_action('pre_get_posts', function($query) { 
    $query->set('order', 'ASC'); 
}); 

注意,上面的語句將作用於所有郵政局查詢(包括管理員),這可能不是你想要的,所以你必須來包裝$query->set()的邏輯,所以它只能在運行您想要的頁面。例如,與工作人員CPT工作時只更改順序,使用此:

add_action('pre_get_posts', function($query) { 
    if ('staff' == $query->query['post_type']) { 
     $query->set('order', 'ASC'); 
    } 
}); 

還要注意的是,在這次行動,$query通過引用傳遞,而不是分配,因此沒有必要使用global關鍵字也不返回任何內容。

HTH

相關問題