我知道有很多帖子和解决方案。但我的问题并没有解决这些问题。请在这里查看一次。
我有5种不同的自定义帖子类型。所以我在我的function.php文件中使用这些代码在archive.php页面中显示类别&的自定义帖子类型。标签
// Add custom post types to archives
function custom_post_archive($query) {
if ($query->is_archive)
$query->set( 'post_type', array('nav_menu_item', 'post', 'post_type_1', 'post_type_2', 'post_type_3', 'post_type_4', 'post_type_5') );
remove_action( 'pre_get_posts', 'custom_post_archive' );
}
add_action('pre_get_posts', 'custom_post_archive');
// Add custom post types to tag
function custom_post_tag($query) {
if ($query->is_tag)
$query->set( 'post_type', array('nav_menu_item', 'post', 'post_type_1', 'post_type_2', 'post_type_3', 'post_type_4', 'post_type_5') );
remove_action( 'pre_get_posts', 'custom_post_tag' );
}
add_action('pre_get_posts', 'custom_post_tag');
使用此功能后,我的存档页面会显示类别帖子&贴标签完美。没有其他问题..但是当我打开一些帖子类型档案时..例如:
http://exmple.com/post_type_1/或http://exmple.com/post_type_3/
全部显示所有帖子类型的所有帖子!!!
同样在我的仪表板中,帖子类型很乱,并显示所有帖子类型的所有帖子显示在帖子和&其他5个帖子类型。
所以我想要一个解决方案或建议来解决这个问题。请帮忙。
答案 0 :(得分:1)
抱歉,谢谢。我通过编写另一个代码修复了问题。
以下是代码:
function my_post_types( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
//$post_types = get_post_types('remote_exploit', 'webapp_exploit', 'localpriesc_exploit', 'pocnddos', 'shellcode_exploit', 'securiy_papers', 'cheat_sheet' );
// $query->set( 'post_type', $post_types);
$query->set( 'post_type', array('nav_menu_item', 'post', 'remote_exploit', 'webapp_exploit', 'localpriesc_exploit', 'pocnddos', 'shellcode_exploit', 'securiy_papers', 'cheat_sheet') );
return $query;
}
}
add_filter( 'pre_get_posts', 'my_post_types');
现在一切正常。
非常感谢。