IS_home()が正しく機能しないのはなぜですか?
-
16-10-2019 - |
質問
私はaを置きます if(is_home())
私のテーマのfunctions.phpに噛みついて、それが機能しないようです。このビットを含む関数はinitで呼ばれますので is_home
すでに動作するはずです。
解決
is_home()
まで動作しません wp_query
実行されています。 IS_HOMEが機能する場所で使用できる最古のフック 'parse_query'
, 、 しかし 'template_redirect'
方が良いだろう。
他のヒント
ジョンの回答をフォローアップするには、ジョンとハクレが言及したフックの1つに、上記の関数への呼び出しを追加します。
追加、functions.phpに次のことを追加します。
<?php
function my_function_name(){
if(is_home()) do_something();
}
add_action('template_redirect', 'my_function_name');
?>
編集:最初はあなたの質問を誤解しました - すでにコードをカプセル化する関数があるように見えますが、間違ったフックで発射しているだけです。そのセクションを別の関数に分割し、template_redirectなどで発射するか、最初に引っ掛けている場所を変更します。
所属していません wordpress.stackexchange