it-swarm-id.com

Mengapa is_home () tidak berfungsi dengan benar?

Saya menaruh sedikit if(is_home()) di functions.php tema saya dan sepertinya tidak berhasil. Fungsi yang mengandung bit ini dipanggil init sehingga is_home seharusnya sudah berfungsi.

3
naugtur

is_home() tidak akan berfungsi sampai wp_query dijalankan. Hook paling awal yang dapat Anda gunakan di mana is_home akan berfungsi adalah 'parse_query', tetapi 'template_redirect' akan lebih baik.

9
John P Bloch

Untuk menindaklanjuti jawaban John: Tambahkan fungsi panggilan ke kata di salah satu kait yang disebutkan oleh John dan hakre.

Tambahkan, mis., Yang berikut ke functions.php Anda:

<?php
function my_function_name(){
  if(is_home()) do_something();
}

add_action('template_redirect', 'my_function_name');
?>

EDIT: Saya salah membaca pertanyaan Anda pada awalnya - sepertinya Anda sudah memiliki fungsi yang mengenkapsulasi kode, hanya saja Anda menembaki yang salah. Pisahkan bagian itu ke fungsi yang terpisah dan jalankan di template_redirect, dll., Atau ubah di mana Anda terhubung di tempat pertama.

2
ZaMoose