2017-11-18 79 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

相关问题