2014-01-30 1 views
0

Как проверить, существует ли слизь в моей базе данных WordPress?WordPress - Проверить доступность пропусков

Я хотел бы проверить любой слизняка (почта, страницы, таксономии и таможенный пост типа/Taxonomies)

благодарит

+2

используйте 'wp_unique_post_slug()' для уникального пула ... , если ваш слизень существует, эта функция даст вам новый пул с суффиксом (-2, -3, -4 ...) ... –

+1

Darn ! Видел это сейчас после того, как я опубликовал. – larsemil

+0

@AkshayPaghdar проверяет все слизняки (страница, cpt ...) или только выкладывает пули? thx – Fredmat

ответ

1

Я просто ответил на этот вопрос здесь: https://wordpress.stackexchange.com/questions/25940/how-to-check-if-a-slug-exists/144439#144439

Не уверен, что политика в отношении дублирующих ответов, но здесь вы идете:

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; 
    } 
} 

Вы можете использовать его как это:

if (the_slug_exists('contact')) { 
      // do something 
    } 

Замените «контакт» с помощью любого слипа, который вы хотите проверить.

+0

Работает только с установками по умолчанию, при этом префикс wp_ не изменяется, как и следовало ожидать. Это будет работать: 'if ($ wpdb-> get_row (" SELECT post_name FROM ". $ Wpdb-> prefix." Posts WHERE post_name = '". $ Post_name."', 'ARRAY_A')) {... ' –

0
<?php 
    $url = $_SERVER["REQUEST_URI"]; 
    $isItYourSlug = strpos($url, 'your_slug'); 

    if ($isItYourSlug!==false) { 
     Do Something 
    } 
?> 

Это нормально? Это работает для меня!

 Смежные вопросы

  • Нет связанных вопросов^_^