В процесі розробки зіштовхнулися з проблемою, що список доступних “термінів” однієї з кастомних таксономій не виводився (був пустий список), код який ми використовували для формування списку виглядав так:
$termsargs = array(
'taxonomy' => 'casecat',
'hide_empty' => false,
);
$terms = get_terms($termsargs);
if ($terms && !is_wp_error($terms)) {
foreach ($terms as $term) {
echo $term->name;
}
}
Code language: PHP (php)
Вивівши результат роботи функції get_terms , а точніше помилку, яку генерувала ця функція, ми побачили :
WP_Error Object ( [errors] => Array ( [invalid_taxonomy] => Array ( [0] => Невірна таксономія. ) ) [error_data] => Array ( ) [additional_data:protected] => Array ( ) )
Code language: PHP (php)
Причиною виявилось те, що код виконувався раніше, ніж реєструвалася таксономія.
Функція, в якій був прописаний код, та файл, в якому реєструвалась таксономія, обидва викликалися/підключалися через екшен init – add_action( 'init', 'function_name' );
, тож ми “підвищили” пріоритет підключення функції з таксономією наступним чином (додавши третім параметром пріоритет ):
add_action( 'init', 'create_tax', 0 );
Code language: JavaScript (javascript)