WooCommerce购物车页结账按钮<br>注入致文本留白问题求助
<br>标签导致多余空白 我的WooCommerce购物车页面的Checkout按钮里莫名多了个<br>标签,导致按钮文本上方出现多余空白,对应的HTML代码如下:
<p><a href="https://xxxxxx.com/shop/checkout/" class="checkout-button button alt wc-forward"><br> Proceed to checkout</a> </p>
(按钮显示效果截图:
)
我已经检查过主题的functions.php文件和所有样式文件,但还是没找到问题根源,求解决办法。
检查WooCommerce模板文件
WooCommerce的按钮输出通常来自模板文件,先找主题目录下的woocommerce/cart/cart.php(要是主题没重写这个模板,就去WooCommerce插件目录的templates/cart/cart.php),搜索checkout-button相关代码,看看是不是模板里硬写了<br>标签。如果是主题重写的模板,直接删掉<br>就行。排查钩子(Hook)注入
WooCommerce有不少用于修改按钮内容的钩子,比如woocommerce_proceed_to_checkout_button、woocommerce_cart_actions。可以在functions.php里临时加一段调试代码,输出绑定到这些钩子的回调函数,看看有没有第三方代码在修改按钮时插了<br>:add_action('init', function() { $hooks = $GLOBALS['wp_filter']['woocommerce_proceed_to_checkout_button']; if ($hooks) { foreach ($hooks as $priority => $callbacks) { foreach ($callbacks as $callback) { var_dump($callback); // 输出所有绑定到该钩子的回调函数 } } } });访问购物车页,看页面源码里的调试信息,找到可能注入
<br>的函数,再去对应的插件或主题代码里修改。检查第三方插件
临时禁用所有非WooCommerce的插件,逐个开启测试,看是哪个插件搞的鬼。很多优化、自定义插件会通过钩子改按钮内容,不小心就加了<br>。CSS临时修复(应急方案)
如果暂时找不到根源,用CSS强制隐藏这个<br>也行:.checkout-button br { display: none !important; }把这段代码加到主题的自定义CSS里,或者
style.css文件末尾,能快速解决显示问题。
内容的提问来源于stack exchange,提问作者user9305836

