wordpress 如何使用elementor插件覆盖woocommerce中的archive-product.php模板

f1tvaqid  于 2023-04-11  发布在  WordPress
关注(0)|答案(2)|浏览(291)

我正在使用WordPress中的Elementor插件。
我正在使用一个子主题。在function.php文件中,我使用add_themesupport('woocommerce')添加了对woocommerce的主题支持,并创建文件夹名称为woocommerce。
我已经从woocommerce插件下载了archive-product.php文件并粘贴到theme_name/woocommerce中。
我正在使用Elementor插件创建页面。
我想创建一个自定义的设计,这是不可能的元素。
所以我必须覆盖archive-product.php文件,但它不工作。当我停用Elementor时,我的模板覆盖页面正在工作。
请问如何使用elementor自定义archive-product.php文件?
先谢谢你。

vfh0ocws

vfh0ocws1#

这可能是一个与此相关的问题(来自Woocommerce文档):
如果你的主题有一个woocommerce.php文件,你将无法覆盖你的主题中的woocommerce/archive-product.php自定义模板,因为woocommerce.php优先于其他模板文件。这是为了防止显示问题。
您可以在此处查看完整的模板文档:https://docs.woocommerce.com/document/template-structure/

ukqbszuj

ukqbszuj2#

帮助我的是这段代码(将其添加到您的functions.php):

add_filter( 'template_include', 'woocommerce_custom_archive_template', 99 );
function woocommerce_custom_archive_template( $template ) {
  if ( is_post_type_archive( 'product' ) ) {
    $new_template = locate_template( array( 'archive-product.php' ) );
    if ( '' != $new_template ) {
      return $new_template ;
    }
  }
  return $template;
}

该函数用于自定义WooCommerce产品发布类型归档页面模板,它检查归档是否针对产品发布类型,如果是,则在主题文件夹中查找自定义archive-product.php模板文件,如果该文件存在,它加载自定义模板而不是默认的WooCommerce模板。如果您想在主题中自定义产品存档页面模板,则必须使用此功能。

相关问题