WooCommerce商店页面使用我的自定义模板


9

在提出问题之前,我想告诉您,我已经在/programming/15025213/wordpress-woocommerce-template-file-overiding中提出了问题

我正在使用WooCommerce插件开发网站。WooCommerce一切都很好。根据我的要求,我已经从WooCommerce仪表板将主页配置为商店基础页面,以使我的主页成为商店页面。现在,我的要求是放置一些应从管理端上传的图像,并在图像上显示一些文本。对于该功能,我在G​​oogle上进行了搜索,有人建议我使用WordPress Advanced Custom Fields。我刚刚安装了它。

现在,我看到WooCommerce没有使用我的自定义主题。它使用自己的自定义主题。因为我想使用“ 高级自定义字段”插件显示图像和文本,所以我确实需要自己的自定义模板来使用对图像和文本的查询。然后,我再次在Google上搜索了解决方案,并得到了建议,只需将主题的副本复制page.php到其中woocommerce.php,然后替换代码即可:

     <?php while ( have_posts() ) : the_post(); ?>

      <?php get_template_part( 'content', 'page' ); ?>

      <?php comments_template( '', true ); ?>

    <?php endwhile; // end of the loop. ?>

<?php woocommerce_content(); ?>

我这样做了,但仍然没有从“高级自定义字段”中获取我的自定义字段。所以请帮助我。任何建议和帮助将不胜感激。谢谢。

我的代码用于显示图像和文本的高级自定义字段,如下所示:

<?php $product_tab_banner = get_field('product_tab_banner');
    if($product_tab_banner): ?>
   <?php var_dump($product_tab_banner); ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" alt="<?php echo $product_tab_banner['alt']; ?>"  width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
  <?php endif; ?>

我正在使用WordPress TwentyEleven主题。


也许WC文档有一些提示。
brasofilo

@brasofilo我已经搜索了文档,但那里没有任何线索...
NewUser

检查有助于。
brasofilo

是的,我尝试过但是它显示的是这样Fatal error: Cannot redeclare show_template() (previously declared
NewUser

函数名称有误,请更正。
brasofilo

Answers:


5

通过回答您的问题,我想告诉您woocommerce将不会使用您的自定义模板。它将使用自己的模板。当您想使用wordpress高级自定义字段插件时,我想告诉您的是,该功能仅在页面和帖子上有效。因此,由于woocommerce不允许使用您自己的自定义模板,因此您无法使用高级自定义字段功能。

现在要做一些不同的事情。只需在要展示产品的地方制作自己的自定义模板即可。然后,只需去现场http://docs.woothemes.com/document/woocommerce-shortcodes/ 在这里你可以看到简码woocommerce。在这里,您可以使用自己的自定义轻松显示几乎所有产品。现在使用这些短代码来展示产品。在这里,您已经实现woocommerce正在使用您自己的自定义模板。现在,由于它是您自己的模板,因此您可以轻松地使用高级自定义字段。明白了吗?如果您无法理解任何事情,请回复我。希望这会帮助你。


11

我不确定我是否能正确理解您的问题,但是这是我尝试复制的问题。

首先,考虑一下WooCommerce文档的这一部分:

如果你想这些模板编辑一个简单地把它复制到你的主题中的一个名为/woocommerce,保持相同的文件结构,例如移动/templates/cart/cart.phpthemename/woocommerce/cart/cart.php。复制的文件现在将覆盖WooCommerce默认模板文件。

其次,这是复制步骤:

  • 使用WP 3.5.1,TwentyEleven 1.5,WooCommerce 1.6.6和AdvancedCustomFields 4.0.0
  • 在阅读设置(/wp-admin/options-reading.php)中将页面“商店”设置为静态首页。
  • 设置一个包含图像字段(product_tab_banner)的ACF字段组,其返回值为“图像对象”,并在帖子类型“产品”中显示

解决方案

  • 创建以下文件夹: /wp-content/twentyeleven/woocommerce/
  • 复制文件:/wp-content/plugins/woocommerce/templates/content-product.php 到此新创建的文件夹
  • 将您的代码放在此副本中 content-product.php
$product_tab_banner = get_field('product_tab_banner');
if($product_tab_banner): ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" 
        alt="<?php echo $product_tab_banner['alt']; ?>"  
        width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" 
        height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" 
        title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
<?php endif; ?>

这是产品页面:

产品页面
点击放大

这里是网站的结果:

现场结果


如果您想自定义“商店”页面,请将文件复制/wp-content/plugins/woocommerce/templates/archive-product.php到主题的/woocommerce/文件夹中。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.