Jawaban:
Gunakan get_posts()dan parameter nameyang merupakan siput:
$page = get_posts( array( 'name' => 'your-slug' ) );
if ( $page )
{
echo $page[0]->post_content;
}
Perlu diketahui bahwa jenis posting secara get_posts()default adalah 'post'. Jika Anda ingin menggunakan halaman ...
$page = get_posts(
array(
'name' => 'your-slug',
'post_type' => 'page'
)
);
Jika Anda ingin semua jenis posting publik (kecuali lampiran) atur argumen tipe posting 'any'. Maka Anda bisa mendapatkan lebih dari satu hasil karena siput tidak unik di berbagai jenis posting.
Anda bisa mendapatkan halaman berdasarkan judulnya menggunakan get_page_by_title()fungsi.
Anda dapat menggunakannya seperti ini (dengan asumsi Anda ingin menampilkan konten):
$page = get_page_by_title('Your Title');
$content = apply_filters('the_content', $page->post_content);
echo $content;
BTW, untuk Mendapatkan halaman menggunakan siput:
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'));
Baca pada tag kondisional : is_page()juga menganggap siput sebagai argumen.
Karenanya,
if( is_page( 'your-slug' ) ) {
// fetch content
}
akan melakukan apa yang Anda inginkan.
Jika Anda tertarik tentang cara mengambil konten posting / halaman berdasarkan siput ketika tidak pada halaman tersebut, Anda dapat memberi makan get_postssiput juga. Ini tidak didokumentasikan dalam kodeks.
Yang berikut ini akan mengambil id dari siput:
$args = array(
'name' => 'your-slug'
);
$posts_from_slug = get_posts( $args );
// echo fetched content
echo $posts_from_slug[0]->post_content;
Gunakan get_page_by_path.
Sintaksis
<?php get_page_by_path( $page_path, $output, $post_type ); ?>
Contoh:
//Returns the animal with the slug 'cat'
get_page_by_path('cat', OBJECT, 'animal');
untuk referensi lebih lanjut lihat Referensi Fungsi WordPress
Saya menggunakan kode ini saat mengisi templat tema dari suatu halaman,
$about = get_page_by_path('about');
$content = apply_filters( 'the_content', $about->post_content );
echo $content;