Antworten:
Dies ist, was Sie suchen, getestet und ich verwende es auf meinen eigenen Websites:
function the_slug_exists($post_name) {
global $wpdb;
if($wpdb->get_row("SELECT post_name FROM wp_posts WHERE post_name = '" . $post_name . "'", 'ARRAY_A')) {
return true;
} else {
return false;
}
}
Sie können es dann folgendermaßen verwenden:
if (the_slug_exists('contact')) {
// do something
}
Ersetzen contact
Sie ihn durch die Schnecke, auf die Sie testen möchten.
if(the_slug_exists('contact') && post_type_exists('contact'))
aber warum nicht nur verwendenif(post_type_exists('contact')) ...
$query = new WP_Query(array('name' => 'my-new-slug')); if ($query->post_count == 0) {// I am unique!}
Meinst du Post Slug? Sie können versuchen, diese von wp_unique_post_slug()
WP verwendeten zu verwenden, um diese zu generieren. Wenn ich mich recht erinnere, wenn der Slug, den Sie verwenden möchten, nicht eindeutig ist, wird er mit angehängtem numerischen Index zurückgegeben.
wp_unique_post_slug()
$args = array('name' => $slugName, 'post_type' => $postType);
$slug_query = new WP_Query($args);
echo "<pre>";
var_dump($slug_query);
exit;
Sie haben dann mehr als genug Informationen, um zu testen, ob ein Beitrag zurückgegeben wurde oder nicht. Ich hoffe, dies hilft.
Wie wäre es mit diesem einfacheren Ansatz?
$post_exists = get_page_by_path( $slug, OBJECT, $post_type );
if ( ! $post_exists )
echo 'No post exists with this slug.';
Wenn für den angegebenen Slug und Post-Typ kein Beitrag vorhanden ist, wird get_page_by_path()
null zurückgegeben.
$your_slug = 'my-pageeeeeee';
$wpdb = $GLOBALS['wpdb'];
//==================FIRST method======================
$id = $wpdb->get_var($wpdb->prepare("SELECT ID FROM " . $wpdb->posts . " WHERE post_name = '%s' AND ( post_type = 'page' OR post_type = 'post') ", $slug) );
if (!empty($id)) {
//............
}
//====================SECOND method======================
$counts = $wpdb->get_var($wpdb->prepare("SELECT count(post_name) FROM ".$wpdb->posts ." WHERE post_name like '%s'", $slug) );
if ($counts >=1 ) {
//.............
}
if(is_page('slug-here')) { echo 'exists'; }
.