首页 文章

wordpress woocommerce模板文件覆盖

提问于
浏览
2

我正在使用woocommerce开发电子商务商店 . 通过woocommerce,一切都很好 . 但我有一个问题 . 因为我想在产品页面(基于商店的页面)中显示一些带有一些文本的自定义图像 . 所以我认为wordpress advanced custom fields会很好 . 我安装了它 . 现在我需要在模板文件中提取图像 . 但通过浏览woocommerce插件,我得到它不使用wordpress模板 . Woocommerce自己生成总页面(产品页面) . 并且我想从wordpress advanced custom fields插件中显示一些自定义字段 . 那么有人可以告诉我该怎么做吗?任何帮助和建议都会非常明显 . 谢谢...

I want that woocommerce shop page where all the products are shown should use my own custom template. So that I can use wordpress advanced custom fields code there

4 回答

  • 1

    WooCommerce不使用主题中的普通模板文件(它使用页眉和页脚等,但实际内部内容的大部分被分成很多Woo模板文件) .

    您可以将模板从 plugins/woocommerce/templates 目录中复制出来并将它们移动到 themes/yourtheme/woocommerce 目录以覆盖(只需选择您需要的目录) .

    所有模板can be found here的列表 . 用于更高级自定义can be found here的有用的php挂钩/过滤器列表 . 其他有用的资源是WC的CSS structure doclist of conditional template tags .

    对于WC的细节主题开发有一些乏善可陈的文档,所以你可能需要花一些时间来试验模板才能完成你想要的东西,但是一旦你学会了它,它就会得到很好的评论并且非常容易使用四处走动 .

  • 4

    要从 wp-content/plugins/woocommerce/templates 覆盖Woocommerce模板,请在 wp-content/themes/<your theme>/woocommerce 中创建具有相同名称的文件 . 它将被用来代替原来的 .

    如果你看one of the original template files,你会在顶部的评论中找到这条指令:

    通过将此模板复制到yourtheme / woocommerce / single-product.php来覆盖此模板

  • 5

    对于产品页面和您网站的任何显示主页或类别页面等产品的部分,负责它的代码存在于woocommerce-template.php第29行

    <?php if ( have_posts() ) : ?>
    
                    <?php do_action('woocommerce_before_shop_loop'); ?>
    
                    <?php woocommerce_product_loop_start(); ?>
    
                        <?php woocommerce_product_subcategories(); ?>
    
                        <?php while ( have_posts() ) : the_post(); ?>
    
                            <?php woocommerce_get_template_part( 'content', 'product' ); ?>
    
                        <?php endwhile; // end of the loop. ?>
    
                    <?php woocommerce_product_loop_end(); ?>
    
                    <?php do_action('woocommerce_after_shop_loop'); ?>
    
                <?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
    
                    <?php woocommerce_get_template( 'loop/no-products-found.php' ); ?>
    
                <?php endif;
    

    您可以使用钩子和过滤器来更改某个部分,或者您可以在_1012344中覆盖该功能本身,也可以直接编辑,但这不建议您在升级后丢失更改 .

    请注意,在第71行中,此函数使用模板文件content-product.php,该模板用于在循环中显示产品内容,并且可以通过将其复制到 yourtheme/woocommerce/content-product.php 来覆盖

  • 1

    我找到了一个很棒的免费woocommerce插件列表,以及一些自定义技巧 . 也许它会有所帮助 . http://fivera.net/woocommerce-customization-free-wp-plugins/

相关问题