ในหน้าการตั้งค่าการอ่านคุณสามารถตั้งค่า "หน้าแรก" และ "หน้าโพสต์" คุณสามารถตรวจสอบว่าหน้าปัจจุบันis_front_page();
มีฟังก์ชั่นที่คล้ายกันสำหรับ "หน้าโพสต์" หรือไม่ ฉันสังเกตเห็นว่าis_page();
มันใช้ไม่ได้กับหน้าพิเศษนี้
ขอบคุณ
ในหน้าการตั้งค่าการอ่านคุณสามารถตั้งค่า "หน้าแรก" และ "หน้าโพสต์" คุณสามารถตรวจสอบว่าหน้าปัจจุบันis_front_page();
มีฟังก์ชั่นที่คล้ายกันสำหรับ "หน้าโพสต์" หรือไม่ ฉันสังเกตเห็นว่าis_page();
มันใช้ไม่ได้กับหน้าพิเศษนี้
ขอบคุณ
คำตอบ:
is_home()
ตรวจสอบ "หน้าโพสต์" แม้จะมีชื่อฟังก์ชั่นที่ค่อนข้างสับสน
$wp_query->is_posts_page
อะไร
Wordpress มาพร้อมกับหน้าประเภทเทมเพลตหลัก 7 ประเภทซึ่งสามารถกำหนดได้ด้วยวิธีนี้
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 บอกคุณว่าคุณมีหน้าบล็อก
"หน้าโพสต์" มักจะเป็นที่เก็บถาวรของ:
แต่ละแท็กเหล่านี้สามารถตรวจสอบได้โดยหนึ่งในแท็กที่มีเงื่อนไขหลายอย่างเช่น
is_category()
is_tag()
is_date()
is_archive()
และอีกมากมาย หากต้องการทำความเข้าใจให้ดีขึ้นให้ไปที่http://codex.wordpress.org/Conditional_Tags
ก่อนอื่นให้ตรวจสอบบล็อกที่เกี่ยวข้องกับสิ่งต่างๆเช่นผู้แต่งแท็กประเภทโพสต์
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 ;
}
ตอนนี้ตรวจสอบและส่งคืนสิ่งที่คุณต้องการ
function check_post_type(){
$postType;
if (is_blog())
{
$postType = 'I am post';
} else
{
$postType = 'I am page';
};
return $postType;
}
ใช้มันเหมือนบอส
<?php echo check_post_type();?>
ขอบคุณWes Bos
กรณี A ไม่จำเป็นต้องมีการกำหนดไว้ในแฟ้มแม่แบบหลัก (index.php) เป็นเพราะมันเป็นแม่แบบเริ่มต้นของมัน[1]
กรณี B หากต้องการกำหนดภายในเทมเพลตหน้า (เช่น: page.php) เพียงตรวจสอบดังนี้:
get_option( 'page_for_posts' ) == get_the_ID()
แท้จริงฉันไปขุดซอร์สโค้ด[2]ของมันเพียงเพื่อให้สามารถรู้ว่า wordpress ทำการตรวจสอบค่า มันจะเปิดออกจะใช้คำสั่งget_option( 'page_for_posts' )
ที่จะรู้รหัสโพสต์ของค่าที่เลือกของหน้าโพสต์
is_front_page()
เพื่อใช่สำหรับวัตถุประสงค์นี้ไม่มีฟังก์ชั่นการตรวจสอบดังกล่าวอย่างเป็นทางการที่คล้ายกับ
ตราบใดที่คุณทราบ ID ของหน้าเว็บที่คุณเลือกจากนั้นคุณสามารถใช้มันสำหรับกระบวนการตรวจสอบ
WordPress Codex, การพัฒนาธีม, codex.wordpress.org/Theme_Development
ซอร์สโค้ดของการตั้งค่า > การตั้งค่าการอ่าน , github.com/WordPress/.../wp-admin/options-reading.php