web-dev-qa-db-ja.com

Function.phpの機能に関する問題

Function.phpのいくつかの関数に問題があります。 get_tems_by( "slug"、$ slug、 "category")を使います。しかし、function.phpの関数の中では動作しません。スラッグをIDで変えてランダムなIDを与えるとうまくいきます。ナメクジが存在することは間違いありません。私も試してみます:

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

そしてそれは仕事ですが、私は$ slugを置く必要があります

解決策があれば教えてください。

2
Lei

優先せずにadd_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' );

また、優先順位を指定する必要はありません。デフォルトは10です。

1
Remzi Cavdar

このようなことを試してください:

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

あなたが本当にそれを必要としないので、私がしたことはadd_action関数からpriority引数を削除することでした。

0
dboris