ฉันพยายามรับเนื้อหาของหน้าเว็บเมื่อฉันรู้จักสตริงกระสุนเท่านั้น
มีฟังก์ชั่นสำหรับสิ่งนี้หรือวิธีที่ง่ายในการทำสิ่งนี้หรือเป็นกรณีของการทำมันผ่านทาง SQL หรือไม่?
ขอบคุณมาก ๆ
ฉันพยายามรับเนื้อหาของหน้าเว็บเมื่อฉันรู้จักสตริงกระสุนเท่านั้น
มีฟังก์ชั่นสำหรับสิ่งนี้หรือวิธีที่ง่ายในการทำสิ่งนี้หรือเป็นกรณีของการทำมันผ่านทาง SQL หรือไม่?
ขอบคุณมาก ๆ
คำตอบ:
ใช้get_posts()
และพารามิเตอร์name
ซึ่งเป็นกระสุน:
$page = get_posts( array( 'name' => 'your-slug' ) );
if ( $page )
{
echo $page[0]->post_content;
}
ทราบว่าประเภทโพสต์ในค่าเริ่มต้นget_posts()
'post'
หากคุณต้องการหน้าใช้ ...
$page = get_posts(
array(
'name' => 'your-slug',
'post_type' => 'page'
)
);
หากคุณต้องการทุกสาธารณะประเภทโพสต์ (ยกเว้นสิ่งที่แนบมา) 'any'
ตั้งอาร์กิวเมนต์ประเภทโพสต์ไป จากนั้นคุณจะได้รับมากกว่าหนึ่งผลเนื่องจากทากนั้นไม่เหมือนกันกับโพสต์ประเภทต่างๆ
คุณสามารถรับหน้าโดยใช้ชื่อget_page_by_title()
หน้าที่ใช้
คุณสามารถใช้มันได้ (สมมติว่าคุณต้องการแสดงเนื้อหา):
$page = get_page_by_title('Your Title');
$content = apply_filters('the_content', $page->post_content);
echo $content;
BTW เพื่อรับหน้าโดยใช้กระสุน:
function get_page_id_by_slug($slug){
global $wpdb;
$id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$slug."'AND post_type = 'page'");
return $id;
}
$page = get_post(get_page_id_by_slug('my-slug'));
อ่านเพิ่มเติมเกี่ยวกับแท็กที่มีเงื่อนไข : is_page()
ยังใช้กระสุนเป็นอาร์กิวเมนต์
ดังนั้น
if( is_page( 'your-slug' ) ) {
// fetch content
}
จะทำในสิ่งที่คุณต้องการ
หากคุณสนใจวิธีดึงเนื้อหาของโพสต์ / หน้าโดยใช้ทากเมื่อไม่ได้อยู่ในหน้าดังกล่าวคุณสามารถป้อนget_posts
ทากได้เช่นกัน นี่ไม่ใช่เอกสารใน codex
ต่อไปนี้จะดึงข้อมูล id จากกระสุน:
$args = array(
'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );
// echo fetched content
echo $posts_from_slug[0]->post_content;
get_page_by_path
ใช้
วากยสัมพันธ์
<?php get_page_by_path( $page_path, $output, $post_type ); ?>
ตัวอย่าง:
//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');
สำหรับการอ้างอิงเพิ่มเติมโปรดดูการอ้างอิงฟังก์ชัน WordPress
ฉันใช้รหัสนี้เมื่อเติมเท็มเพลตธีมจากหน้า
$about = get_page_by_path('about');
$content = apply_filters( 'the_content', $about->post_content );
echo $content;