web-dev-qa-db-fra.com

Problèmes avec function sur function.php

J'ai un problème avec certaines fonctions sur function.php. Je veux utiliser get_tems_by ("slug", $ slug, "category"); mais cela ne fonctionne pas dans une fonction de function.php. Quand j'ai changé slug par ID et donner un ID aléatoire, c'est du travail. Je suis sûr que la limace existe. J'ai aussi essayé ça:

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

Et c'est du travail mais j'ai besoin de mettre $ slug

Si vous avez une solution s'il vous plaît dites-moi.

2
Lei

Avez-vous essayé d'utiliser add_action sans priorité? Sur la dernière ligne, vous spécifiez la priorité. Les nombres inférieurs correspondent aux exécutions antérieures et les fonctions ayant la même priorité sont exécutées dans l'ordre dans lequel elles ont été ajoutées à l'action.

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' );

De plus, vous n'avez pas besoin de spécifier la priorité, la valeur par défaut est 10.

1
Remzi Cavdar

Essayez quelque chose comme ça:

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

Ce que j'ai fait est de supprimer l'argument de priorité de la fonction add_action, car vous n'en avez pas vraiment besoin.

0
dboris