php - WooCommerce:更改相关产品标题并删除/更改
问题描述
我想更改相关产品的标题文本并<h2>
出于 SEO 原因删除。
我在这里找到了一些更改标题文本的答案:在 Woocommerce 3 中重命名相关产品标题 但是那里的代码和答案不起作用(不再起作用了吗?)。
还有一个问题。标题使用<h2>
我也想更改的标签。
related.php
我在模板中找到了以下代码:
<?php
$heading = apply_filters( 'woocommerce_product_related_products_heading', __( 'Related products', 'woocommerce' ) );
if ( $heading ) : ?>
<h2><?php echo esc_html( $heading ); ?></h2>
<?php endif; ?>
有没有办法在$heading
不更改模板文件的情况下更改完整输出?
解决方案
h2
首先,您可以通过添加过滤器来删除现有的
add_filter('woocommerce_product_related_products_heading', function(){return false;});
然后您可以重新编写woocommerce_product_loop_start
可插入的功能。
function woocommerce_product_loop_start( $echo = true ) {
ob_start();
wc_set_loop_prop( 'loop', 0 );
wc_get_template( 'loop/loop-start.php' );
$loop_start = apply_filters( 'woocommerce_product_loop_start', ob_get_clean() );
if ( $echo ) {
// check to see if it's the related loop
if (wc_get_loop_prop('name') == 'related'){
// Change the heading to whatever you want
echo "<h3>Related Products</h3>";
}
echo $loop_start; // WPCS: XSS ok.
} else {
return $loop_start;
}
}
推荐阅读
- firebase - 没有这样的模块“FirebaseUI”
- javascript - 我在 textarea 中显示列表框的选定项目,但是当我修改 textarea 值时,它停止工作
- java - 使用单个 DTO 对象进行投影
- windows - python unittest的返回状态
- php - 调用程序不起作用php
- selenium - 无法在 Windows Server 2012 R2 中设置节点
- apache-spark - Spark Interpreter 在 Zeppelin 中不起作用
- c++ - Can's 似乎使用返回指针加倍以使用 cout 正确打印值
- node.js - 如何在 Joi 字符串验证中使用枚举值
- symfony - symfony 覆盖状态码作为响应