下面就来更改标签的过程中(我改变WooCommerce在我的例子“失速”)。你可以尝试用以下方式gettext filter
。
在你的functions.php文件,请使用此
function rename_header_to_logo( $translated, $original, $domain ) {
$strings = array(
'WooCommerce' => 'Stall',
'Custom Header' => 'Custom Stall'
);
if ( isset( $strings[$original] ) && is_admin() ) {
$translations = &get_translations_for_domain( $domain );
$translated = $translations->translate( $strings[$original] );
}
return $translated;
}
add_filter( 'gettext', 'rename_header_to_logo', 10, 3 );
您还可以应用下面的代码
function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'WooCommerce' :
$translated_text = __( 'Stall', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );
首先,看看你目前的管理菜单。我通常做的是用临时代码,我插入到我的主题的function.php
add_action( 'admin_menu', 'myRenamedPlugin' );
function myRenamedPlugin() {
global $menu;
print_r($menu);
}
现在,当你登录,您的管理员菜单的完整树是在源代码中看到,而且是这个样子:
Array
(
[2] => Array
(
[0] => Dashboard
[1] => read
[2] => index.php
[3] =>
[4] => menu-top menu-top-first menu-icon-dashboard menu-top-last
[5] => menu-dashboard
[6] => div
)
[4] => Array
(
[0] =>
[1] => read
[2] => separator1
[3] =>
[4] => wp-menu-separator
)
...
在这阵中,找到您要重命名的插件。例如,插件“WordPress的文件”
[101] => Array
(
[0] => Wordpress Files
[1] => read
[2] => pgl_wp_files
[3] => WP Files
[4] => menu-top menu-icon-generic
[5] => toplevel_page_pgl_wp_files
[6] => dashicons-admin-generic
)
你看,在位置2是插件的唯一名称“pgl_wp_files”。通过使用插件的唯一名称,我们避免其他插件具有类似名称的打算改名。因此,该额外步骤是非常重要的。
现在,我们使用这个值在我们的函数作为搜索针。一旦发现,它可以代替插件的使用,我们喜欢的任何名称有名称(位置0)。
要长话短说:替换你的主题有以下function.php上述功能:
add_action( 'admin_menu', 'myRenamedPlugin' );
function myRenamedPlugin() {
global $menu;
$searchPlugin = "pgl_wp_files"; // Use the unique plugin name
$replaceName = "New Name for Plugin";
$menuItem = "";
foreach($menu as $key => $item){
if ( $item[2] === $searchPlugin ){
$menuItem = $key;
}
}
$menu[$menuItem][0] = $replaceName; // Position 0 stores the menu title
}
还有,你可以在插件代码更改为编辑这一行!这很难说清楚它会,但因为它依赖于插件。
如果你的插件是侧边栏上的顶层(即它不是一个下拉菜单或任何东西),试图通过插件文件夹搜索(的wp-content /插件/不管-插件名称)的函数调用add_menu_page
。该函数的第二个参数是“菜单标题”,所以才改变一切的存在,无论你希望它是。
详细信息:https://codex.wordpress.org/Function_Reference/add_menu_page
如果它是一个下拉菜单下,尝试搜索名为add_submenu_page
功能。在此功能,在菜单中的文本是第三个参数,所以独自离开的第二个参数,改变第三个参数到你想要的称号。
如果你不能找到add_submenu_page
,搜索add_plugins_page
或add_theme_page
或他人的一个此列表:https://codex.wordpress.org/Function_Reference/add_submenu_page取决于什么子菜单插件的页面其实在不在。
重要编辑:如果插件使用的这些“快捷方式”功能中的一个,然后在侧边栏的页面名称再次是第二个参数。
作为@ DrAnd1的改善,这里的重命名多个元素的功能:
function replace_admin_menu() {
global $menu;
//var_dump($menu);
$translations = [
"pgl_wp_files" => "new name for Plugin",
"WooCommerce" => "Stall",
];
foreach ($translations as $keyToTranslate => $valueTranslated) {
$menuItem = null;
foreach ($menu as $key => $item) {
if ($item[2] === $keyToTranslate) {
$menuItem = $key;
}
}
if ($menuItem)
$menu[$menuItem][0] = $valueTranslated;
}
}
add_action('admin_menu', 'replace_admin_menu');
add_action( 'admin_menu', 'rename_woocoomerce', 999 );
function rename_woocoomerce(){
global $menu;
// Pinpoint menu item
$woo = rename_woocommerce( 'WooCommerce', $menu );
// Validate
if( !$woo )
return;
$menu[$woo][0] = 'Store Settings';
}
function rename_woocommerce( $needle, $haystack )
{
foreach( $haystack as $key => $value )
{
$current_key = $key;
if(
$needle === $value
OR (
is_array( $value )
&& rename_woocommerce( $needle, $value ) !== false
)
)
{
return $current_key;
}
}
return false;
}