我试过了,想知道你会遇到什么问题。以下代码允许您使用multi_post_type
参数:
add_action( \'pre_get_posts\', \'wpse12970_pre_get_posts\' );
function wpse12970_pre_get_posts( &$wp_query )
{
if ( is_admin() && array_key_exists( \'multi_post_type\', $_GET ) ) {
$wp_query->set( \'post_type\', $_GET[\'multi_post_type\'] );
add_filter( \'the_posts\', \'wpse12970_the_posts\', 10, 2 );
}
}
function wpse12970_the_posts( $posts, &$wp_query )
{
$wp_query->set( \'post_type\', $GLOBALS[\'post_type\'] );
return $posts;
}
第一个问题是
$post_type
应为单一类型,否则其他函数会中断。因此,我们以另一个名称“走私”多个帖子类型,并在查询运行后再次删除它们。
列表顶部的计数器和自定义列仅基于一种帖子类型。如果有许多结果,分页可能会中断。
如果要这样做,应该创建自己的list类,它是WP_List_Table
, 喜欢WP_Posts_List_Table
但对于多个帖子类型。因为edit.php
默认情况下加载此表,我看没有办法截取它,您应该创建自己的替换edit.php
并使用该插件。我认为这是可行的,而且可能很有趣,但工作量很大。