if ( ! function_exists( 'wpcodebook_post_exists_by_slug' ) ) { /** * Checks if post exists by slug. * * @see https://wpcodebook.com/snippets/check-if-post-exists-by-slug-in-wordpress/ * @return mixed boolean false if no posts exist; post ID otherwise. */ function wpcodebook_post_exists_by_slug( $post_slug ) { $loop_posts = new WP_Query( array( 'post_type' => 'post', 'post_status' => 'any', 'name' => $post_slug, 'posts_per_page' => 1, 'fields' => 'ids' ) ); return ( $loop_posts->have_posts() ? $loop_posts->posts[0] : false ); } }
Usage example:
wpcodebook_post_exists_by_slug( 'hello-world' );