web-dev-qa-db-de.com

get_terms von registrierten Taxonomien funktionieren nicht

In functions.php kann ich var_dump() Taxonomien wie:

$taxonomies=get_taxonomies('','names');
echo '<pre>';
var_dump($taxonomies);

was gib mir:

array(7) {
  ["category"]=>
  string(8) "category"
  ["post_tag"]=>
  string(8) "post_tag"
  ["nav_menu"]=>
  string(8) "nav_menu"
  ["link_category"]=>
  string(13) "link_category"
  ["post_format"]=>
  string(11) "post_format"
  ["project"]=>
  string(7) "project"
  ["team"]=>
  string(4) "team"
}

Jetzt möchte ich alle "Kategorien" aus meinem registrierten Taxonomie "Projekt" erhalten

Ich habe versucht, mit get_categories () und get_terms () beide ein leeres Array zurückzugeben.

$taxonomies = array(
    'project'
);

$args = array(
    'orderby'           => 'name',
    'order'             => 'ASC',
    'hide_empty'        => true,
    'exclude'           => array(),
    'exclude_tree'      => array(),
    'include'           => array(),
    'number'            => '',
    'fields'            => 'all',
    'slug'              => '',
    'parent'            => '',
    'hierarchical'      => true,
    'child_of'          => 0,
    'get'               => '',
    'name__like'        => '',
    'description__like' => '',
    'pad_counts'        => false,
    'offset'            => '',
    'search'            => '',
    'cache_domain'      => 'core'
);

$terms = get_terms($taxonomies, $args);
var_dump($terms);

geben

array(0) {
}

Was mache ich falsch?

1
caramba

Es gibt nur ein paar Dinge, auf die ich hier mit get_terms hinweisen möchte.

  • Sie müssen keinen Wert in ein Array einfügen, sondern können den Wert einfach so wie er ist zur Variablen hinzufügen

  • Um Ihre Bedingungen zurückzugeben, müssen Ihnen tatsächlich Posts zugewiesen sein. Standardmäßig werden leere Begriffe ausgeblendet. Gleiches gilt für get_categories . Wenn Sie auch leere Begriffe anzeigen müssen, setzen Sie den Parameter hide_empty auf false.

  • Sie müssen die Standardwerte nicht aufrufen. Wenn Sie den Wert eines Parameters nicht ändern möchten, fügen Sie ihn nicht zu Ihren Argumenten hinzu. Fügen Sie einfach die Parameter hinzu, die Sie ändern möchten

Hier ist ein richtiges Beispiel

$args = array(
    'hide_empty' => false, 
);

$terms = get_terms('project', $args);
var_dump($terms);

Hier erhalten wir alle Begriffe, auch leere, sortiert nach den Standardnamen aus der Taxonomie project

3
Pieter Goosen