Jadi apa praktik terbaik di sini?
Saya akan mengatakan kombinasi membiarkan tema menanganinya dan menyediakan default dengan plugin Anda.
Anda dapat menggunakan single_template
filter untuk mengganti templat. Dalam panggilan balik Anda, lihat apakah tema menyediakan templat untuk jenis posting, jika berhasil, jangan lakukan apa pun.
<?php
add_filter('single_template', 'wpse96660_single_template');
function wpse96660_single_template($template)
{
if ('your_post_type' == get_post_type(get_queried_object_id()) && !$template) {
// if you're here, you're on a singlar page for your costum post
// type and WP did NOT locate a template, use your own.
$template = dirname(__FILE__) . '/path/to/fallback/template.php';
}
return $template;
}
Saya suka metode ini yang terbaik. Gabungkan dengan menyediakan seperangkat "tag templat" suara (mis. the_content
, the_title
) Yang mendukung data khusus apa pun yang sesuai dengan jenis posting Anda dan Anda memberi pengguna akhir banyak daya penyesuaian bersama dengan beberapa suara standar. Bbpress melakukan hal semacam ini dengan sangat baik: termasuk template pengguna jika menemukannya dan memberikan banyak tag template.
Atau, Anda dapat menggunakan panggilan balik dengan the_content
filter, dan hanya mengubah hal-hal di konten itu sendiri.
<?php
add_filter('the_content', 'wpse96660_the_content');
function wpse96660_the_content($content)
{
if (is_singular('your_post_type') && in_the_loop()) {
// change stuff
$content .= '<p>here we are on my custom post type</p>';
}
return $content;
}