Câu trả lời:
is_home()
kiểm tra "Trang bài viết", mặc dù tên hàm hơi khó hiểu.
$wp_query->is_posts_page
?
Wordpress đi kèm với 7 loại trang mẫu chính, có thể được xác định theo cách này
if ( is_main_query() ) {
// Error
if ( is_404() ) {
;
}
// Front page
if ( is_front_page() ) {
;
}
// Archive
if ( is_archive() ) {
;
}
// Comments popup
if ( is_comments_popup() ) {
;
}
// Search
if ( is_search() ) {
;
}
// Singular
if ( is_singular() ) {
;
}
// Home - the blog page
if ( is_home() ) {
;
}
}
is_home nói với bạn rằng bạn có trang blog.
"Trang bài viết" thường là một kho lưu trữ của:
Mỗi một trong số này có thể được kiểm tra bởi một trong nhiều thẻ có điều kiện như
is_category()
is_tag()
is_date()
is_archive()
Và nhiều hơn nữa. Để hiểu rõ hơn, hãy truy cập vào codex http://codex.wordpress.org/Conditable_Tags
Trước tiên hãy kiểm tra các blog liên quan như tác giả, thẻ, loại bài đăng
function is_blog () {
global $post;
$posttype = get_post_type($post );
return ( ((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag())) && ( $posttype == 'post') ) ? true : false ;
}
Bây giờ hãy kiểm tra và trả lại thứ bạn muốn có
function check_post_type(){
$postType;
if (is_blog())
{
$postType = 'I am post';
} else
{
$postType = 'I am page';
};
return $postType;
}
Sử dụng nó như ông chủ
<?php echo check_post_type();?>
Cảm ơn Wes Bos
Trường hợp A . Không cần xác định nó bên trong tệp mẫu chính (index.php) vì đây là mẫu mặc định cho nó [1] .
Trường hợp B . Để xác định nó bên trong một mẫu trang (ví dụ: page.php), chỉ cần kiểm tra nó như vậy:
get_option( 'page_for_posts' ) == get_the_ID()
Tôi thực sự đã đi đào mã nguồn [2] của nó chỉ để có thể biết cách kiểm tra giá trị của wordpress. Hóa ra, nó đang sử dụng câu lệnh get_option( 'page_for_posts' )
để biết ID bài đăng của giá trị được chọn của trang Bài viết .
Vì vậy, yeah, cho mục đích này, không có chức năng kiểm tra chính thức như vậy tương tự như is_front_page()
.
Miễn là bạn biết ID của trang bạn đã chọn thì bạn có thể sử dụng nó cho quá trình kiểm tra.
Codex WordPress, Phát triển chủ đề, codex.wordpress.org/Theme_Development
Mã nguồn của Cài đặt > Reading Cài đặt , github.com/WordPress/.../wp-admin/options-reading.php