Câu trả lời:
Sử dụng get_posts()
và tham số name
đó là sên:
$page = get_posts( array( 'name' => 'your-slug' ) );
if ( $page )
{
echo $page[0]->post_content;
}
Hãy lưu ý rằng loại bài đăng get_posts()
mặc định 'post'
. Nếu bạn muốn có một trang, hãy sử dụng
$page = get_posts(
array(
'name' => 'your-slug',
'post_type' => 'page'
)
);
Nếu bạn muốn tất cả các loại bài đăng công khai (trừ tệp đính kèm), hãy đặt đối số loại bài đăng thành 'any'
. Sau đó, bạn có thể nhận được nhiều hơn một kết quả vì sên không phải là duy nhất trên các loại bài đăng khác nhau.
Bạn có thể lấy một trang theo tiêu đề của nó bằng get_page_by_title()
chức năng.
Bạn có thể sử dụng nó như thế này (giả sử bạn muốn hiển thị nội dung):
$page = get_page_by_title('Your Title');
$content = apply_filters('the_content', $page->post_content);
echo $content;
BTW, để Nhận trang bằng cách sử dụng sên:
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'));
Đọc lên các thẻ có điều kiện : is_page()
cũng lấy sên làm đối số.
Vì thế,
if( is_page( 'your-slug' ) ) {
// fetch content
}
sẽ làm những gì bạn muốn.
Nếu bạn quan tâm đến cách tìm nạp nội dung bài đăng / trang dựa trên một con sên khi không ở trang đã nói, bạn cũng có thể cung cấp get_posts
một con sên. Điều này không được ghi lại trong codex.
Sau đây sẽ lấy id từ một con sên:
$args = array(
'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );
// echo fetched content
echo $posts_from_slug[0]->post_content;
Sử dụng get_page_by_path
.
Cú pháp
<?php get_page_by_path( $page_path, $output, $post_type ); ?>
Thí dụ:
//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');
để biết thêm chi tiết, hãy xem Tham khảo chức năng WordPress
Tôi sử dụng mã này khi điền mẫu chủ đề từ một trang,
$about = get_page_by_path('about');
$content = apply_filters( 'the_content', $about->post_content );
echo $content;