• В файле functions.php проверяю некие условия. В зависимости от результата надо либо оставить все как есть либо убрать 1 рубрику.
    Делаю это так:

    $terms = get_the_terms($post_id, 'product_cat');
    foreach($terms as $term){
     $set_terms[] = $term->term_id;
    }
    //из массива $set_terms убираю эту категорию
    $r = wp_set_post_terms($post_id, $set_terms, 'product_cat', false );
    print_r($r);

    В итоге вылазит ошибка invalid_taxonomy.
    Два вопроса:
    как по другому можно убрать рубрику?
    Как бороться с ошибкой?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • как по другому можно убрать рубрику?

    wp_list_categories — exclude

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В итоге вылазит ошибка invalid_taxonomy.

    Вероятно, код срабатывает раньше, чем регистрация таксономии product_cat.

    Вероятно, код срабатывает раньше, чем регистрация таксономии product_cat.

    Но как тогда выполняется код $terms = get_the_terms($post_id, ‘product_cat’);?

    хм… вот вроде гет_взе_термс не выдавало ошибок, а теперь начала -invalid_taxonomy.
    Возможно, Sergey Biryukov, вы правы. А как тогда начать выполнять код после создания таксаномии?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Все подобные процессы должны происходить не раньше действия init:
    http://codex.wordpress.org/Function_Reference/register_taxonomy#Example

    Функцию с вышеуказанным кодом можно выполнять с более поздним приоритетом:

    function set_product_categories() {
    	// ...
    }
    add_action( 'init', 'set_product_categories', 11 );

Просмотр 5 ответов — с 1 по 5 (всего 5)

Тема «Убрать рубрику» закрыта для новых ответов.