我有时不知道使用哪个条件是\\u singular()、是\\u post\\u type\\u archive(),以及某个插件的post类型的实际名称
is_singular()
将在任何单个帖子页面上返回true
此条件标记检查是否显示单数post,当以下其中一项返回true时即为这种情况:is_single()
, is_page()
或is_attachment()
. 如果$post_types
参数时,该函数将另外检查查询是否针对指定的帖子类型之一is_post_type_archive()
当查看自定义帖子类型的srchive页面时,将返回true
-检查查询是否针对给定帖子类型的存档页。
至于代码,您始终可以使用$post
global,然后使用它检查给定帖子的帖子类型。在存档页上,$post
应始终包含查询中最后一篇帖子的帖子对象。
类似以下的操作将起作用:
global $post;
// Get all the custom post types
$args = [
\'public\' => true,
\'_builtin\' => false
];
$post_types = get_post_types( $args );
$single_post_type = $post->post_type;
// For single post pages
if ( is_single() ) { // Or you can use is_singular()
// Only display post type name if post type is not build in type
if ( in_array( $single_post_type, $post_types ) ) {
echo $single_post_type;
}
}
// For single post type archives
if ( is_post_type_archive ) {
echo $single_post_type;
}