template_redirectにフックしたら、is_single()のおかしな動きが改善

プラグインを作成していて、そのなかでis_single()を条件分岐に使用していたのですが、自分が期待していた結果どおりにならずにおかしな結果になる不具合が発生したことについて。

思い出しながらなので記事の内容がわかりづらいと思います。

wp_enqueue_scriptやwp_enqueue_styleを使用してjQueryやCSSを利用できるようにしつつ、add_actionフックを使いinitにフックして使用していたのですが、is_single()がおかしな動きが改善せずにいました。一応、wp_head()も使ってみましたが同じ結果に。そのおかしい結果になる原因は、自分が思う処理順とは違うからだと推測。

そこで、試しにテンプレート関連のアクションtemplate_redirectにフックをかけてみると、今までの悩みがウソのように解決。

add_action( 'template_redirect', '関数' );

参考:WordPress Codexの中段にある「テンプレート関連のアクション」

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です