get_category_link () ничего не возвращает - PullRequest
1 голос
/ 08 июня 2011

Я использую функцию get_categories (), чтобы вручную создать себе меню навигации. У меня есть собственная таксономия, которую я использую, называется Category, и я пытаюсь вернуть ссылку на нее для моих тегов в меню, используя функцию get_category_link ().

foreach ($categories as $category) {
            if ($category->parent == 0) {   //Check to see it is a parent
                $output .= '<li>';
                $output .= '<a href="' . get_category_link($category->cat_ID) . '">' . $category->name . '</a>';  //display parent taxonomy category

             }
      }

Но всегда возвращается <a href="">. Я могу вывести $category->cat_ID успешно, поэтому я знаю, что он передает идентификатор в функцию, но я не знаю, почему он возвращает пустое значение.

Я что-то упустил? Это потому, что это таможенные таксономии? У них есть слизняки.

1 Ответ

2 голосов
/ 08 июня 2011

Вам нужно что-то подобное для пользовательских таксономий:

$tax = 'cars';
  $cats = get_terms( $tax, '' );
  if ($cats) {
    foreach($cats as $cat) {
       $output .= "<li>";
$output .= '<a href="' . esc_attr(get_term_link($cat, $tax)) . '" title="' . sprintf( __( "View all posts in %s" ), $cat->name ) . '" ' . '>' . $cat->name.'</a>';
$output .= "</li>";
    }
  }

Хотя вы можете легко добавить в начало скрипта, чтобы получить массив всех таксономий для подачи, если хотите.

...