在我的自定义post类型中,有一个具有通常标题、段塞和描述字段的自定义分类法。
我希望最终用户不理解代码段塞是为了什么,在我的例子中,它需要是一个语言代码,例如en_GB,所以我只想重命名弹格标签,而不是读“语言代码”。
我可以重命名自定义分类法的鼻涕虫标签吗?
发布于 2019-07-25 15:11:42
正如SallyCJ所提到的,gettext
实际上是您使用它的唯一选项,因为段塞标签是在WordPress核心中硬编码的。
https://core.trac.wordpress.org/browser/tags/5.2/src/wp-admin/edit-tags.php#L439
下面是我编写和测试的一个片段,它应该适用于您,它将只在后端上运行,并且只运行在您将看到并希望更改段塞的两个页面上:
add_action('current_screen', 'current_screen_callback');
function current_screen_callback($screen) {
// Put some checks and balances in place to only replace where and when we need to
if(
is_object($screen) &&
($screen->base==='edit-tags' || $screen->base==='term') &&
$screen->taxonomy==='custom_tax_slug'){
add_filter( 'gettext', 'change_out_slug_labels', 99, 3 );
}
}
function change_out_slug_labels($translated_text, $untranslated_text, $domain){
if(stripos( $untranslated_text, 'slug' )!== FALSE ){
$translated_text = str_ireplace('Slug', 'Language Code', $untranslated_text);
}
return $translated_text;
}
current_screen
是一个管理唯一的钩子,所以只在后端调用交换您需要的东西。我取出了change_out_slug_labels()
函数,以便您可以在需要时在前端使用它。
希望这能帮上忙!
https://wordpress.stackexchange.com/questions/343646
复制相似问题