一部の教員向けに子テーマを設定しています。テーマの一部として、テーマがアクティブ化されたときにいくつかのプラグインをアクティブ化してください。したがって、当然のことながら、私はafter_setup_themeアクションを使用して、セットアップ関数を呼び出しました。EVERYリクエスト(管理者など)で実行されることを除いて、それは素晴らしい働きをします。これをセットアップ関数の最後に追加することでこれを証明しました:
echo '<script type="text/javascript">alert("This action was run")</script>';
そしてその結果、すべての管理リクエストとすべてのフロントエンドリクエストでJavaScriptアラートを取得します(私はネットワークを設定しているので、このテーマがアクティブでないサイトでは明らかに機能を実行していません)。
だから問題は、これはバグですか?どういうわけか私は何か間違ったことをしていますか?これが私が使用している完全なコードです:
add_action( 'after_setup_theme', 'fwp_setup' );
function fwp_setup(){
// -- Unrelated code remove for the sake of brevity
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-admin/includes/plugin.php');
activate_plugin('enable-media-replace/enable-media-replace.php');
activate_plugin('seo-image/seo-friendly-images.php');
activate_plugin('w3-total-cache/w3-total-cache.php');
echo '<script type="text/javascript">alert("This action was run")</script>';
}
どんな洞察もいただければ幸いです!
after_switch_theme
私がここで意図したことを正確に実行します。テーマがテーマに切り替えられた後に発生します。下記のソリューションの1つはを使用していswitch_theme
ます。これは、テーマから離れたときにのみ発生するため、望ましい結果にはなりません。このTracコメントを参照