php - Wordpress - woocommerce:更改单产品 meta.php 中的“SKU”字符串
问题描述
我只是想更改字符串“SKU”以在单一产品 meta.php 文件中显示其他内容。我正在使用儿童主题。父主题在路径 /inc/compat/ 中有一个 woocommerce.php 文件。因此,据我了解,我不能通过简单地更改主题内的 meta.php 来覆盖。
因此,我尝试在父主题的 woocommerce.php 中添加此功能:
function translate_woocommerce($translation, $text, $domain) {
if ($domain == 'woocommerce') {
switch ($text) {
case 'SKU':
$translation = 'TEST';
break;
case 'SKU:':
$translation = 'TEST';
break;
}
}
return $translation; }
add_filter('gettext', 'translate_woocommerce', 10, 3);
但它不起作用。请你帮助我好吗?
非常感谢。
只是一点点更新:如果我将上面的代码放在父主题或子主题的functions.php中,我可以看到Wordpress仪表板内的SKU字符串发生了变化(请查看下图):
解决方案
尝试增加过滤器优先级。
所以:
add_filter( 'gettext', 'translate_woocommerce', 9999, 3 );
function translate_woocommerce( $translation, $text, $domain ) {
if ( $domain == 'woocommerce' ) {
switch ( $text ) {
case 'SKU':
$translation = 'TEST';
break;
case 'SKU:':
$translation = 'TEST';
break;
}
}
return $translation;
}
我测试了你的代码,它对我有用。
正如过滤器文档中所报告的那样:https$text
://developer.wordpress.org/reference/hooks/gettext/ 使用带有您引用未翻译文本的变量的开关。
您可能想要使用$translation
来引用前端/后端中可见的翻译文本。
推荐阅读
- javascript - 控制台抛出语法“未捕获的类型错误:note.addEventListener 不是函数”?
- pic - 从 MPLAB 8.92 到 MPLAB X 5.25:我现在如何以编程方式停止模拟器?
- python - 如何在表单中为 FieldList [Flask] 动态添加输入字段?
- html - 在不使用 FILE 的情况下在 C 中缓冲输出
- c# - XAML/Xamarin 中的 XLS0414 错误,但一切似乎都适用于数据类型
- python - 如何使用此 Python 代码获取代码的计算时间?
- python - Python在父PDF中创建链接到附加的PDF
- java - 在 Micronaut 控制器中流式传输大响应而不会耗尽内存
- arrays - 为什么这个 C 内联数组没有正确优化?
- c - 如何在 gdb 中“展开”核心转储