Jawaban:
Jika dengan ' halaman blog ' Anda berarti halaman statis ditetapkan sebagai halaman posting di Pengaturan Membaca , maka Anda dapat memeriksanya dengan melakukan ini:
if ( is_front_page() && is_home() ) {
// Default homepage
} elseif ( is_front_page() ) {
// static homepage
} elseif ( is_home() ) {
// blog page
} else {
//everyting else
}
Saat Anda menggunakan
is_home()
danis_front_page()
, Anda harus menggunakannya dalam urutan yang benar untuk menghindari bug dan menguji setiap konfigurasi pengguna.
(Sumber: Tag Bersyarat - Halaman Blog )
Atau sederhananya:
if ( !is_front_page() && is_home() ) {
// blog page
}
Atau lebih sederhana (saya kira):
if ( is_home() ) {
// blog page
}
Anda dapat menggunakan yang berikut ini di file functions.php tema Anda:
function is_blog () {
return ( is_archive() || is_author() || is_category() || is_home() || is_single() || is_tag()) && 'post' == get_post_type();
}
Dan kemudian letakkan ini di file yang Anda periksa:
<?php if (is_blog()) { echo 'You are on a blog page'; } ?>
Anda dapat menggunakan Hooks di file functions.php Anda untuk mengaitkan di atas, untuk membuatnya muncul di setiap halaman.
Jika dengan 'halaman blog' Anda berarti halaman statis ditetapkan sebagai halaman posting di Bacaan:
global $wp_query;
if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) {
//static blog page
}
PS. Solusi ini juga berfungsi pada tindakan template_redirect
global $wp_query
), tetapi juga karena tidak sepenuhnya menjawab pertanyaan. Ini sebuah fungsi, tetapi OP bertanya bagaimana cara mengatasinya dalam file header-nya - jadi mungkin perlu sedikit penjelasan lebih lanjut tentang apa yang harus diletakkan di mana. Sekali lagi, selamat datang, senang Anda di sini!
Untuk mendapatkan halaman indeks blog , saya menemukan itu
if ( !is_front_page() && is_home() ) {
// blog page
}
tidak berfungsi untuk saya, saya harus menggunakan fungsi get_option ('page_for_posts') untuk mengidentifikasi Halaman Blog post_id, jawaban saya adalah
if ( !is_front_page() && is_home() ){
if ( empty ( $post_id) ) {
global $post;
$post_id = get_option( 'page_for_posts' );
}
//blog page
}
Ada metode yang rumit.
Misalkan jika siput halaman blog blog
Anda, Anda dapat menggunakan kode ini.
global $wp_query;
if($wp_query->query['pagename']=='blog'){
// this is blog page
}
Saya kira itu sangat sederhana saya berada dalam situasi yang sama dan saya menggunakan teknik berikut yaitu menggunakan halaman siput.
if( is_page('blog') ) {
echo "This is your blog page";
}
Tetapi pastikan Anda tidak memilih beranda untuk menampilkan posting blog terbaru dan Anda telah menetapkan halaman tertentu untuk blog seperti blog atau berita dll, cukup gunakan halaman slug dan Anda akan baik-baik saja.
Anda dapat gunakan..
<?php if ( is_single() ) { ?>
Do stuff here
<?php } ?>
untuk memeriksa apakah itu satu posting blog. Atau...
<?php if ( is_home() ) { ?>
Do stuff here
<?php } ?>
untuk memeriksa apakah itu beranda blog
Saya menggunakan cara ini
// Get body classes as array
$body_classes = get_body_class();
// Check if "blog" class exists in the array
if(in_array("blog", $body_classes)) {
// Do stuff
}
if ( !is_front_page() && is_home() )
, setidaknya menurut saya, adalah jika Anda mendistribusikan tema yang memiliki gaya tata letak yang berbeda untuk homepage default dan halaman blog .