通过插件,我创建了一个名为“quot;my\\u custom(我的自定义);。
也通过插件,我成功地包含了一个模板,用于显示;“单个”;我的自定义帖子类型的项目:
function get_single_custom_template( $single_template ) {
global $post;
if ( \'my_custom\' === $post->post_type ) {
$single_template = PLUGIN_TEMPLATE_DIR . \'default-custom-single.php\';
}
return $single_template;
}
add_filter( \'single_template\', \'get_single_custom_template\' );
正如预期的那样:我的
default-custom-single.php
对于单个条目显示;my\\u custom“我的自定义”;岗位类型。
但是,我希望能够允许主题覆盖我的默认设置,并根据需要创建自己的模板。
如何检查是否存在预先存在的custom-single.php
在一个主题中,只添加我的插件提供的模板,如果它不存在?
最合适的回答,由SO网友:Howdy_McGee 整理而成
您可以使用locate_template()
第一如果返回的不是空字符串\'\'
然后模板存在于父主题或子主题中。
if( \'\' === locate_template( \'custom-single.php\' ) ) {
// Replace given template with your template path.
}