web-dev-qa-db-de.com

Probleme mit der Funktion auf function.php

Ich habe ein Problem mit einigen Funktionen in function.php. Ich möchte get_tems_by ("slug", $ slug, "category") verwenden. Aber es funktioniert nicht in einer Funktion auf function.php. Wenn ich Slug nach ID ändere und eine zufällige ID gebe, funktioniert es. Ich bin sicher, dass die Schnecke existiert. Das habe ich auch probiert:

add_action( 'init', 'wpse27111_tester', 999 );
function wpse27111_tester()
{
    $term = get_term_by('slug', 'some-term', 'some-taxonomy');
    var_dump($term);
}

Und es ist Arbeit, aber ich muss $ Slug setzen

Wenn Sie eine Lösung haben, teilen Sie mir dies bitte mit.

2
Lei

Haben Sie versucht, add_action ohne Priorität zu verwenden? In der letzten Zeile geben Sie die Priorität an. Niedrigere Nummern entsprechen der früheren Ausführung, und Funktionen mit derselben Priorität werden in der Reihenfolge ausgeführt, in der sie der Aktion hinzugefügt wurden.

function test_1234567() {
  // Get term by name ''news'' in Categories taxonomy.
  $category = get_term_by('name', 'news', 'category');

  // Get term by name ''news'' in Tags taxonomy.
  $tag = get_term_by('name', 'news', 'post_tag');

  // Get term by name ''news'' in Custom taxonomy.
  $term = get_term_by('name', 'news', 'my_custom_taxonomy');

  // Get term by name ''Default Menu'' from theme's nav menus.
  // (Alternative to using wp_get_nav_menu_items)
  $menu = get_term_by('name', 'Default Menu', 'nav_menu');

  var_dump($category);
}

add_action( 'init', 'test_1234567' );

Außerdem müssen Sie keine Priorität angeben. Die Standardeinstellung ist 10.

1
Remzi Cavdar

Versuchen Sie so etwas:

add_action( 'init', 'wpse316530_func' );
function wpse316530_func()
{
    $slug = 'uncategorized';
    $term = get_term_by('slug', $slug, 'category');
    var_dump($term);
}

Ich habe das Prioritätsargument aus der Funktion add_action entfernt, da Sie es nicht wirklich brauchen.

0
dboris