3

ユーザーが作成した可能性のあるさまざまなカスタム分類法を循環するforeachループで、いくつかのadd_action()関数を動的に構築する必要があります。

アクションフックの名前は「category_add_form_fields」ですが、フックの「category」部分は、カスタム分類法の名前ごとに変わります。

例1 したがって、プラグインユーザーが「Colors」という分類法を作成した場合、フックは「colors_add_form_fields」になり、add_actionは次のようになります。

add_action('colors_add_form_fields', 'myFunction',10,2);

例2 または、プラグインユーザーが「sizes」という分類法を作成した場合、フックは「sizes_add_form_fields」になり、add_actionは次のようになります。

add_action('sizes_add_form_fields', 'myFunction',10,2);

すべてのユーザーがカスタムカテゴリに名前を付けることを事前に明確に知ることはできないため、各カテゴリ名を$ customcatとして格納するforeachループを使用して、文字列「_add_form_fields」に追加し、結果の文字列を格納します。 add_action()関数で使用するための$final内

問題は、この変数をadd_action()に挿入するさまざまな方法を試しましたが、それらを認識していないように見えることです。

Googleを検索しましたが、何も見つかりませんでした。同じ質問をしている人もいませんでした。

誰かが私が何をすべきか知っていますか?または、変数を単純に使用できない場合、PHPを使用して目的を達成する他の方法はありますか?

これらは私がこれまでに試した順列の一部です...

$final = $customcat . "_add_form_fields"; 
$final = "'" . $customcat . "_add_form_fields'"; 

add_action( $final, 'my_function', 10, 2);
add_action( "$final", 'my_function', 10, 2);
add_action( strval($final), 'my_function', 10, 2);
4

1 に答える 1