Apakah mungkin untuk mengambil id posting tipe posting kustom hanya dari slug?
Seperti yang saya tahu kita bisa mendapatkan dari id dengan menggunakan judul. Tapi bisa saja ada judul yang sama dalam tipe posting kustom sehingga slugnya unik, apakah mungkin????
Anda dapat menggunakan get_page_by_path()
- jangan sampai namanya menipu Anda, argumen ketiga adalah tipe posting:
if ( $post = get_page_by_path( 'the_slug', OBJECT, 'post_type' ) )
$id = $post->ID;
else
$id = 0;
Jika Anda menunggu beberapa hari, dan meng-upgrade ke Wordpress 4.4 yang akan dirilis tanggal 8 Desember (AFAIK), Anda dapat menggunakan parameter post_name__in
yang baru di WP_Query
yang mengambil array dari slug
Jika Anda membutuhkan objek posting lengkap
$args = [
'post_type' => 'my_custom_post_type',
'posts_per_page' => 1,
'post_name__in' => ['post-slug']
];
$q = get_posts( $args );
var_dump( $q );
Jika Anda hanya membutuhkan 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 );