wordpress - 如何覆盖主题类功能中定义的工具提示标题?
问题描述
我真的希望有人能帮助我。我已经联系了 ThemeIsle 支持,他们不提供自定义代码支持,所以我被困住了。
我有一个 Wordpress 网站,使用的是 ThemeIsle 的 Neve 主题,我目前正在开发该网站。我想更改当用户将鼠标悬停在演示站点页面商店页面上产品的心形图标上时显示的工具提示文本
目前它显示“添加到愿望清单”,我希望它说明“添加到收藏夹”。我可以看到有一个名为\plugins\neve-pro-addon\includes\modules\woocommerce_booster\views\wish_list.php的 php 文件,其中包含我要覆盖的函数:
<?php
/**
* Class that add wish list functionality
*
* @package Neve_Pro\Modules\Woocommerce_Booster\Views
*/
namespace Neve_Pro\Modules\Woocommerce_Booster\Views;
use HFG\Core\Components\Nav;
/**
* Class Wish_List
*
* @package Neve_Pro\Modules\Woocommerce_Booster\Views
*/
class Wish_List extends Abstract_Shop_Product {
...
...
/**
* Wish List button markup.
*/
public function add_wish_list_button() {
global $product;
$position = get_theme_mod( 'neve_wish_list', 'none' );
$icon_class = 'add-to-wl';
$product_id = $product->get_id();
$wish_list_label = apply_filters( 'neve_wish_list_label', __( 'Add to wishlist', 'neve' ) );
/* translators: %s - product title */
$title_sr = apply_filters( 'neve_sr_title', sprintf( __( 'Add %s to wishlist', 'neve' ), get_the_title() ) );
if ( $this->is_product_in_wishlist( $product_id ) ) {
$icon_class .= ' item-added';
}
echo '<div class="nv-wl-wrap ' . esc_attr( $position ) . '">';
echo '<a href="#" class="' . esc_attr( $icon_class ) . '" data-pid="' . esc_attr( $product_id ) . '" aria-label="' . esc_html( $title_sr ) . '">';
echo '<svg width="18" height="18" viewBox="0 0 512 512"><path xmlns="http://www.w3.org/2000/svg" fill="currentColor" d="M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"/></svg>';
echo '<span class="tooltip tooltip-left">' . esc_html( $wish_list_label ) . '</span>';
echo '</a>';
echo '</div>';
}
...
...
}
我创建了一个子主题,但我不知道如何甚至是否可以覆盖它。子主题当前反映了主题本身的布局,而 NevePro 插件有一个 woocommerce_booster 文件夹,似乎添加了所有额外的功能。我尝试在孩子的不同位置创建覆盖文件,但无济于事。
我对 WP 很陌生,任何指针都会非常有帮助。
谢谢你。
解决方案
您可以使用“neve_wish_list_label”过滤器并更改标签。检查我下面的代码。您可以添加子主题function.php文件
function change_neve_wish_list_label( $wish_list_label ){
$wish_list_label = __( 'Add to favourites', 'neve' );
return $wish_list_label;
}
add_filter( 'neve_wish_list_label', 'change_neve_wish_list_label', 10, 1 );
推荐阅读
- r - 如何避免其他用户在闪亮服务器上的权限被拒绝
- java - 带有可选时间戳过滤器的 spring-data-jpa JPQL 查询问题
- windows - Windows批量重命名,重命名文件2次
- kubernetes - 如何将 kubernetes 容器 ID/名称附加到 log4j.xml 中的日志文件
- c++ - C++ 预处理生成变量成员、setter 和 map
- elasticsearch - 在 ElasticSearch 的范围查询中,“from”和“gte”/“gt”是否等效?
- regex - 如何获取捕获组的计数,然后用特定字符替换字符?
- reactjs - Azure 存储静态站点环境变量
- reactjs - 是否有可能在 chartjs 图表上获得 X 轴和 Y 轴的显示最小值和最大值?
- php - Yii2:如何更改系统消息翻译文件