it-swarm-id.com

Bagaimana cara menghasilkan daftar halaman anak, dan menggunakan beberapa bidang khusus mereka?

Saya memiliki struktur halaman seperti ini:

-Home
-Cars
  -Volvo 640
   - Pics
   - Info
  -Porsche 911
   - Pics
   - Info

Saya ingin membuat daftar mobil di halaman Mobil semua mobil (yang merupakan halaman anak-anak Mobil). Bagaimana saya melakukan ini? Daftar ini pada dasarnya adalah sub-menu yang harus menunjukkan semua mobil dalam urutan abjad (catatan, saya tidak perlu tautan ke 'cucu' - Foto, Info). Saya juga perlu mengambil data Bidang Khusus dari setiap halaman mobil, dan meletakkannya di sebelah tautan ke halaman tersebut. Mungkinkah?

1
cannyboy

Anda dapat menggunakan get_pages untuk melakukan ini, seperti:

<?php
    $args = array(
        'post_type' => 'page',
        'child_of' => 7,
        );
    $postobj = get_pages($args);
    foreach($postobj as $item){
        $dir = get_bloginfo('template_directory'); // Theme directory
        $title = $item->post_title;
        $parent = $item->post_parent;
        $id = $item->guid;
        $name = $item->post_name;

Setelah Anda sampai di sini, Anda dapat menarik bidang khusus Anda dan memasukkannya ke dalam variabel.

        $model_number = get_post_meta($item->ID, 'model_number', true);

Saya akan menggunakan pernyataan if semacam untuk membangun judul teratas. Misalnya, Anda dapat melakukan:

            if($model_number == true){
                echo stuff;
            } else {
                echo other stuff;
        }
    }
?>

Ini kasar, tapi saya pikir ini bisa membantu Anda. Pada dasarnya, Anda secara terprogram membangun pos Anda dan mengembalikan semuanya untuk dicetak. Kuncinya adalah memformat segalanya dan mengatur kondisi Anda dengan benar.

1
nickmjones

Fungsi wp_list_pages() dapat memberi Anda daftar halaman anak Anda. Namun, mengambil data bidang khusus dari setiap halaman akan membutuhkan kueri terpisah dan lebih banyak pekerjaan. Tapi ini awalnya:

$args = array(
    depth => '1',
    child_of => '123'
);

wp_list_pages( $args );

Ini akan memberi Anda daftar tautan ke semua halaman anak dari halaman ID 123. Spesifikasi depth adalah untuk mencegah pengambilan halaman cucu juga.

Seperti yang saya katakan sebelumnya, mendapatkan data bidang khusus sedikit lebih rumit. Anda harus terlebih dahulu mendapatkan ID halaman dari masing-masing halaman anak Anda (mungkin menggunakan query_posts()) dan menyimpannya dalam array. Kemudian Anda akan mengulang-ulang array itu dan mendapatkan data bidang khusus dari setiap halaman secara bergantian.

Jadi itu bisa dilakukan ... tapi saya tidak bisa menawarkan solusi cepat dari atas kepala saya.

1
EAMann