Làm sao lấy thông tin của một page template ?
Đây là câu hỏi đặt ra đầu tiên của mình khi đi tìm giải quyết bài toán là phải hiển thị link và tiêu đề của một page template mà đã tạo trước đó mà không dựa vào việc fix giá trị ID ? . Vì sao mà mình nhấn mạnh việc không dựa vào fix giá trị ID của page đó, bởi vì việc gán một giá trị ID sẽ không phù hợp khi mà bạn chuyển theme đó sang một database mới. Khi đó giá trị ID sẽ không còn đúng nữa rồi. Đoạn code dưới đây sẽ trả lời được câu hỏi trên dựa vào việc điền ID của page bằng điền tên page template đó, và chắc hẳn tên này sẽ cố định hơn và đảm bảo rồi.
$pages = get_pages(array(
'meta_key' => '_wp_page_template',
'meta_value' => ''
‘hierarchical’ => 0
));
dụ cụ thể: hiển thị link của page sử dụng page template: template-profile-edit.php đã được public
$pages = get_pages(array(
'meta_key' => '_wp_page_template',
'meta_value' => 'template-profile-edit.php'
));
foreach($pages as $page){
echo $page->post_title.'
';
}
‘hierarchical’ => 0
để cho việc tìm kiếm các page template là trang chứ không phải là danh sách cách page con của page đó. Khi đó việc hiển thị kết quả sẽ không còn đúng nữa.Để rõ hơn về hàm get_pages() thì bạn có thể tham khảo link sau: get_pages() documentation