正如SallyCJ所提到的,gettext
是你唯一的选择,因为Slug 标签是在WordPress的核心中硬编码的。
https://core.trac.wordpress.org/browser/tags/5.2/src/wp-admin/edit-tags.php#L439
这是我编写和测试的一个片段,应该对您有用,它将只在后端运行,并且只在您将看到并希望更改的两个页面上运行
Slug:
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()
功能输出,以便在需要时可以在前端使用它。
我希望这有帮助!!!