Answers:
您可以使用get_page_by_path()
-不要让名字愚弄您,第三个参数是帖子类型:
if ( $post = get_page_by_path( 'the_slug', OBJECT, 'post_type' ) )
$id = $post->ID;
else
$id = 0;
如果您等了几天,然后升级到将于12月8日发布的Wordpress 4.4(AFAIK),则可以使用新post_name__in
参数,WP_Query
该参数中包含一系列的标签
如果您需要完整的发布对象
$args = [
'post_type' => 'my_custom_post_type',
'posts_per_page' => 1,
'post_name__in' => ['post-slug']
];
$q = get_posts( $args );
var_dump( $q );
如果您只需要ID
$args = [
'post_type' => 'my_custom_post_type',
'posts_per_page' => 1,
'post_name__in' => ['post-slug'],
'fields' => 'ids'
];
$q = get_posts( $args );
var_dump( $q );
post_name
属性和category_name
参数一样,应该slug
不应该如此name