有的woocommerce主题的Filter模块不带Clear Filter,点击filter后产品越来越少,没办法一键清除,通过一些简单的代码,可以解决这个问题
第一步,在/wp-content/plugins/woocommerce/includes/widgets/class-wc-widget-layered-nav.php这个文件里面添加一个action 钩子(每次升级woocommerce后均需要修改)
添加位置在文件里面查找echo '</ul>';
在这行后面一行加入以下代码
do_action( 'woo_zidingyi_action_clear_filter' );
备注:有些主题可能不兼容,可以在类目页查找sidebar的组件,看源码在哪个文件里面。可以根据id或class名查找,大概率在sidebar.php文件里面。
比如某个主题,源文件是
<div id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div><!-- #secondary -->
那就在这个div里面加入do action代码
<?php do_action( 'woo_zidingyi_action_clear_filter'
); ?>
同样可以解决这个问题
第二步,在子主题functions.php文件加入以下代码
add_action('woo_zidingyi_action_clear_filter', 'add_clear_filters');
function add_clear_filters() {
$filterreset = $_SERVER['REQUEST_URI'];
if ( strpos($filterreset,'?filter_') !== false ) {
$filterreset = strtok($filterreset, '?');
echo '<div class="woo_woo_zdy_clear_filtersclear_filters"><a id="woo_zdy_clear_filters" href="'.$filterreset.'">X Clear Filters</a></div>';
}
}
本站所有测试环境均使用ubuntu+lnmp
所有的测试、优化均基于lnmp进行,大部分方法均是相通的,仅仅因为是lnmp是一键安装,集成了大部分安装脚本,方法配置。
本人对于服务器,网站运行环境是十窍通了九窍,还有一窍不通,一桶不满,半桶晃荡,所以在配置上能偷懒的就偷懒,能省事的就省事,并且这些配置仅仅为自己配置过的记录,所有配置均自己在自己服务器上实现,并不一定通用所有配置环境,并且文章描述也可能不通顺,前言不搭后语,驴唇不对马嘴,请需要参照此文章配置的客观慎思而行,不保证你配置的时候一定可以成功。
此段落本站所有文章均有,作者已完成自我批评,只接受评论区指正,不再接受批评,谢谢。