将文本添加到Woocommerce类别页面模板的底部页脚区域

时间:2017-05-03 11:18:58

标签: php wordpress woocommerce categories

我今天已经阅读了大约30或40篇关于如何实现这一目标的文章,但没有一篇能给出一个非常简单的答案。

长话短说,我们有大约40个类别,只是想在每个类别页面的底部添加一个带有链接的文本块。

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

我们应该考虑在我们的子主题的functions.php文件中添加自定义php吗?

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

1 个答案:

答案 0 :(得分: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 - 无论是否有产品,都会在页面底部执行。
  3. 编写一个函数,使用其中一个钩子输出您的链接:

    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 );