Wooccommerce只在产品列表页面中包含元素


Woocommerce include element in products-only list page

我只需要在产品列表页面中包含侧边栏。我指的是最后一个子页面,并没有类别或子类别可供选择,只有产品。问题是我找不到在哪里可以包含我的代码。

有一个content-product.php文件生成产品列表(没有类别或子类别),但循环在不同的文件(loop-start.phploop-end.php)中开始和结束,并且用于仅产品循环(content-product.php)和类别/子类别循环(content-product-cat.php)。

我发现了一些wooccommerce条件标签,用于检查您所在的页面,但正如我所理解的,使用这些功能不可能将仅产品列表页面与类别/子类别列表页面分离。

也许有人以前也做过类似的事情,会对她的知识如此友善?

Wooccommerce确实有一种方法可以判断页面上是否显示产品。它在archive-content.php(https://github.com/woothemes/woocommerce/blob/master/templates/archive-product.php)。基本上,当你准备输出侧边栏时,添加一个检查,看看页面上是否有帖子。Wooccommerce本身可以使用have_posts(),但由于您可能想在循环之后使用侧边栏,因此必须手动使用:

global $wp_query;
if ( $wp_query->post_count > 0 ) ...