почему is\_home () не работает правильно?

<p>я добавил бит <code>if(is\_home())</code> в файл functions.php моей темы, и он, похоже, не работает. функция, содержащая этот бит, вызывается при инициализации, поэтому <code>is\_home</code> уже должен работать.</p>

<p><code>is\_home()</code> не будет работать, пока не будет запущен <code>wp\_query</code>. самым ранним хуком, который вы можете использовать там, где будет работать is\_home, является <code>'parse\_query'</code>, но <code>'template\_redirect'</code> будет лучше.</p>

<p>чтобы продолжить ответ джона: добавьте вызов к указанной функции на одном из хуков, упомянутых джоном и хакре.</p><p>добавьте, например, следующее в ваши functions.php:</p><pre><code><?php function my\_function\_name(){ if(is\_home()) do\_something(); } add\_action('template\_redirect', 'my\_function\_name'); ?> </code></pre><p>правка: я сначала неправильно понял ваш вопрос - похоже, у вас уже есть функция, инкапсулирующая код, просто вы стреляете не по адресу. либо разбейте этот раздел на отдельную функцию и запустите его в template\_redirect и т.д., либо измените место, где вы подключаетесь.</p>