如果帖子是单一产品,则包括模板

时间:2016-08-25 作者:Ashish Pariyani

我正在尝试使用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;
}
它返回到我的插件模板文件的正确路径,但它仍然显示“单一产品”模板,而不是我的插件模板。

1 个回复
最合适的回答,由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;
}

相关推荐

Updating modified templates

我想调整一些。php模板文件在我的WordPress主题中,我知道正确的过程是将相关文件复制到子主题文件夹中并在那里编辑文件,这样我的修改就不会在将来的主题更新中丢失。但这是否意味着我将无法从主题更新中获益,因为我将文件放在了我的子主题文件夹中?这可能不是一件好事,因为主题更新可能添加了一些有用的特性,甚至修复了我最初需要对代码进行调整的问题!这方面的常见解决方案是什么?有人推荐了一款Diff应用程序——这是人们常用的吗?