我正在尝试使用include
如果帖子是单个产品,则显示我的插件模板
define( \'WCT_DIR\', plugin_dir_path( __FILE__ ) );
add_filter( \'template_include\', \'wdm_load_template\', 99);
function wdm_load_template($template)
{
$template_slug = basename(rtrim( $template, \'.php\' ));
if( ($template_slug === \'single-product\' || $template_slug === \'woocommerce\') && is_product() )
{
$template = WCS_DIR . \'includes/wcs-templates.php\';
}
return $template;
}
它返回到我的插件模板文件的正确路径,但它仍然显示“单一产品”模板,而不是我的插件模板。
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成
像Andy 提到了,你在打电话WCS_DIR
, 但这并不存在。更新了要调用的代码WCT_DIR
而是:
define( \'WCT_DIR\', plugin_dir_path( __FILE__ ) );
add_filter( \'template_include\', \'wdm_load_template\', 99 );
function wdm_load_template( $template ) {
$template_slug = basename( rtrim( $template, \'.php\' ) );
if ( ($template_slug === \'single-product\' || $template_slug === \'woocommerce\') && is_product() ) {
$template = WCT_DIR . \'includes/wcs-templates.php\';
}
return $template;
}