2017-05-03 204 views
0

我已阅读了大约30或40篇不同的文章,了解如何实现这一目标,但都没有给出一个非常好的简单答案。长话短说,我们有大约40个类别,只是想在每个分类页面的底部添加一个带有链接的文本块。将文本添加到Woocommerce的页脚底部区域页面模板

所以期待编辑类别页面模板。我们在子主题中设置了woocommerce文件夹并使其他文件覆盖默认插件。所以我们知道它可能是要编辑的content-product.php文件?但是,哪里和哪些代码被应用?试图添加在底部附近,但它被卷入循环,并将其添加到该类别的产品数量与产品标题,图像等循环的页面。

我们应该看看在我们的添加自定义PHP儿童主题的functions.php文件?

任何帮助非常感谢。谢谢。

+0

如果你想将代码添加到页脚,那么你应该通过添加窗口小部件。检查你现有的主题布局是否允许你这样做。它的外观下>> Widgets –

+0

这不起作用,因为它只是我们想要的类别页面。并非全部页面。我对footer这个词的使用可能不是对不起的最好的选择。 – MagentoMac

+0

您可以使用PHP代码小部件并验证它的类别页是否。 –

回答

0

有几种不同的方法可以解决这个问题,但大部分你需要编写一些PHP。

要将某物放在类别页面的底部,您需要检查WooCommerce如何显示类别。访问taxonomy-product_cat.php WC模板将显示类别使用archive-product.php。下一步将是审查该模板文件。

您希望在类别页面的底部显示某些内容,只会显示一次,因此它不属于主要产品循环内部。

如果您覆盖archive-product.php模板并手动插入链接,它不仅会出现在类别中,还会出现在商店和标签页上。这告诉你,你需要一个条件来限制链接的显示。

使用钩子WooCommerce提供了一种方法,您不必重写模板。有2个钩,其可以是适合在该文件中:

  1. woocommerce_after_shop_loop - 在循环之后被执行时有产品
  2. woocommerce_after_main_content - 在页面是否有产品的底部执行。

编写一个函数来使用这些钩子的一个输出你的链接:

function wpse_wc_category_footer_link() { 
    // woocommerce_after_main_content is a generic hook; check we're on a category page. 
    if (! is_product_category()) { 
     return; 
    } ?> 

    <!-- Your markup for category pages belongs here... --> 
    <a href="#">My Link</a> 

    <?php  
} 
add_action('woocommerce_after_main_content', 'wpse_wc_category_footer_link', 5); 
+0

感谢您的帮助弥敦道。我不认为在这种情况下,我们的主题或设计是使用archive-product.php或类别页面或子类别页面。例如,如果我清空整个文件并保存它,类别页面保持不变。只有content-product_cat。php文件似乎对类别页面有影响。我会继续玩,直到我可以让事情发生。非常感谢帮助。 – MagentoMac

+0

分类 - 产品_cat.php WC模板在哪里?无法找到任何Woocommerce文件夹。我们正在使用最新版本3.0.4 – MagentoMac

+0

您的主题可能会覆盖特定的WooCommerce模板。如果没有,则使用默认值,可以通过转到'/ wp-content/plugins/woocommerce/templates /' –