Wordpress API вопрос - PullRequest
       6

Wordpress API вопрос

0 голосов
/ 03 сентября 2010

Как я могу проверить, существует ли категория, и если существует, вернуть идентификатор; если нет, создайте категорию?

Ответы [ 3 ]

3 голосов
/ 03 сентября 2010

Используйте Wordpress is_category(), get_cat_ID() и wp_create_category().

<?php
  $CategoryName = "books";
  if(is_category($CategoryName))
        $categoryID = get_cat_ID($CategoryName);
  else
        $categoryID = wp_create_category($CategoryName);
?>
1 голос
/ 04 сентября 2010
create_category_if_not_exist($category_name, $echo = true) {
    $id = wp_insert_term( $category_name, 'category');
    if ( $echo ) return $id;
    return $id;
}

Приятно все в одной функции для выполнения трюка. $category_name должен быть слагом категории.

wp_insert_term() заботится о проверке, существует ли категория в базе данных. Он вернет $id категории, если она существует, и вернет $ id вновь созданной категории, если она не существует.

1 голос
/ 03 сентября 2010

См. Wp_create_category ().

include( "../../wordpress/wp-config.php" );
include( "../../wordpress/wp-admin/includes/taxonomy.php" );

$cat_id = wp_create_category( "TESTINGLOL" );
echo "created = {$cat_id}\n";
echo "returned = " . get_cat_ID( "TESTINGLOL" );

Вывод должен идти как:

created = 37450 returned = 37450

Обратите внимание, что это не очень эффективно, но делает работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...