Câu trả lời:
Nếu bằng ' trang blog ', bạn có nghĩa là một trang tĩnh được đặt làm trang bài đăng trong Cài đặt Đọc , thì bạn có thể kiểm tra nó bằng cách thực hiện điều này:
if ( is_front_page() && is_home() ) {
// Default homepage
} elseif ( is_front_page() ) {
// static homepage
} elseif ( is_home() ) {
// blog page
} else {
//everyting else
}
Khi bạn sử dụng
is_home()
vàis_front_page()
, bạn phải sử dụng chúng theo đúng thứ tự để tránh lỗi và kiểm tra mọi cấu hình người dùng.
(Nguồn: Thẻ có điều kiện - Trang Blog )
Hoặc đơn giản:
if ( !is_front_page() && is_home() ) {
// blog page
}
Hoặc đơn giản hơn (tôi cho là):
if ( is_home() ) {
// blog page
}
Bạn có thể sử dụng các mục sau trong tệp tin.php.
function is_blog () {
return ( is_archive() || is_author() || is_category() || is_home() || is_single() || is_tag()) && 'post' == get_post_type();
}
Và sau đó đặt nó trong tập tin bạn đang kiểm tra:
<?php if (is_blog()) { echo 'You are on a blog page'; } ?>
Bạn có thể sử dụng Móc trong tệp tin.php của mình để móc ở trên, để làm cho nó xuất hiện trên mỗi trang.
Nếu theo 'trang blog', bạn có nghĩa là một trang tĩnh được đặt làm trang bài đăng trong phần Đọc:
global $wp_query;
if ( isset( $wp_query ) && (bool) $wp_query->is_posts_page ) {
//static blog page
}
Tái bút Giải pháp này cũng hoạt động trên hành động template_redirect
global $wp_query
) nhưng cũng vì nó không trả lời đầy đủ câu hỏi. Đó là một chức năng, nhưng OP đã hỏi làm thế nào để giải quyết vấn đề này trong tệp tiêu đề của mình - vì vậy nó có thể cần thêm một chút giải thích về những gì cần đặt ở đâu. Một lần nữa, chào mừng, vui mừng khi có bạn ở đây!
Để có được trang chỉ mục blog , tôi thấy rằng
if ( !is_front_page() && is_home() ) {
// blog page
}
không hoạt động với tôi, tôi đã phải sử dụng hàm get_option ('page_for_posts') để xác định trang Blog post_id, câu trả lời của tôi là
if ( !is_front_page() && is_home() ){
if ( empty ( $post_id) ) {
global $post;
$post_id = get_option( 'page_for_posts' );
}
//blog page
}
Có một phương pháp khó khăn.
Giả sử nếu sên trang blog của bạn là blog
, bạn có thể sử dụng mã này.
global $wp_query;
if($wp_query->query['pagename']=='blog'){
// this is blog page
}
Tôi đoán nó rất đơn giản Tôi đã ở trong một tình huống tương tự và tôi đã sử dụng kỹ thuật sau đây là sử dụng sên trang.
if( is_page('blog') ) {
echo "This is your blog page";
}
Nhưng hãy chắc chắn rằng bạn không chọn trang chủ để hiển thị các bài đăng trên blog gần đây và bạn đã đặt một trang cụ thể cho các blog như blog hoặc tin tức, v.v., chỉ cần sử dụng trang đó sên và bạn sẽ ổn.
Bạn có thể dùng..
<?php if ( is_single() ) { ?>
Do stuff here
<?php } ?>
để kiểm tra nếu đó là một bài viết trên blog. Hoặc là...
<?php if ( is_home() ) { ?>
Do stuff here
<?php } ?>
để kiểm tra xem đó có phải là trang chủ blog không
Tôi dùng cách này
// 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() )
ít nhất là nếu bạn đang phân phối một chủ đề có kiểu bố cục khác cho trang chủ mặc định và trang blog .