Обычное поведение get_terms заключается в том, чтобы не возвращать термины, если записи не назначены. Но это не так, я вижу сроки, назначенные в админке, а также проверил базу данных, и все вроде хорошо. Также проверьте этот код:
$p = get_post(5018); // correctly returns the post
// works: returns the assigned term
$post_terms = wp_get_post_terms($p->ID, 'solutions_sectors', array("fields" => "all"));
// now the opposite:
$first = $post_terms[0];
$tid = $first->term_id;
// works: gives a list of post ids
$term_posts = get_objects_in_term($tid, 'solutions_sectors');
// still, this will output an empty array:
$terms = get_terms(array('taxonomy' => 'solutions_sectors');
// while this will output the right array (obviously):
$terms = get_terms(array('taxonomy' => 'solutions_sectors', 'hide_empty' => false));
Итак, в моих сообщениях есть условия, но get_terms, похоже, этого не понимает. Почему?
Обратите внимание на следующее:
Я использую пользовательские типы сообщений с пользовательскими таксономиями
Я использую полиланг в качестве языкового плагина (но все сообщения и термины, кажется, правильно переведены и назначены)