要想从woocommerce商店页面中的特定类别中排除产品,可以使用以下代码:
1 |
<span class="com">/**</span> <span class="com"> * Remove products from shop page by category</span> <span class="com"> *</span> <span class="com"> */</span> <span class="kwd">function</span><span class="pln"> woo_custom_pre_get_posts_query</span><span class="pun">(</span><span class="pln"> $q </span><span class="pun">)</span> <span class="pun">{</span> <span class="kwd">if</span> <span class="pun">(</span> <span class="pun">!</span><span class="pln"> $q</span><span class="pun">-></span><span class="pln">is_main_query</span><span class="pun">()</span> <span class="pun">)</span> <span class="kwd">return</span><span class="pun">;</span> <span class="kwd">if</span> <span class="pun">(</span> <span class="pun">!</span><span class="pln"> $q</span><span class="pun">-></span><span class="pln">is_post_type_archive</span><span class="pun">()</span> <span class="pun">)</span> <span class="kwd">return</span><span class="pun">;</span> <span class="kwd">if</span> <span class="pun">(</span> <span class="pun">!</span><span class="pln"> is_admin</span><span class="pun">()</span> <span class="pun">&&</span><span class="pln"> is_shop</span><span class="pun">()</span> <span class="pun">)</span> <span class="pun">{</span> <span class="pln"> $q</span><span class="pun">-></span><span class="kwd">set</span><span class="pun">(</span> <span class="str">'tax_query'</span><span class="pun">,</span><span class="pln"> array</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span> <span class="str">'taxonomy'</span> <span class="pun">=></span> <span class="str">'product_cat'</span><span class="pun">,</span> <span class="str">'field'</span> <span class="pun">=></span> <span class="str">'slug'</span><span class="pun">,</span> <span class="str">'terms'</span> <span class="pun">=></span><span class="pln"> array</span><span class="pun">(</span> <span class="str">'shoes'</span> <span class="pun">),</span> <span class="str">'operator'</span> <span class="pun">=></span> <span class="str">'NOT IN'</span> <span class="pun">)));</span> <span class="pun">}</span> <span class="pln"> remove_action</span><span class="pun">(</span> <span class="str">'pre_get_posts'</span><span class="pun">,</span> <span class="str">'custom_pre_get_posts_query'</span> <span class="pun">);</span> <span class="pun">}</span> <span class="pln">add_action</span><span class="pun">(</span> <span class="str">'pre_get_posts'</span><span class="pun">,</span> <span class="str">'woo_custom_pre_get_posts_query'</span> <span class="pun">);</span> |
将PHP代码放在主题或子主题functions.php文件的底部。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。