如何重命名插件标题>;Wordpress>;仪表板

如何重命名插件标题>;Wordpress>;仪表板,wordpress,Wordpress,请问,有人能帮我吗?我需要更改wordpress中安装的插件的名称(只有管理栏中的名称才可以;)。谢谢 预览: 插件代码中有一行您可以更改以编辑此代码!但是很难说它会在哪里,因为这取决于插件 如果您的插件位于侧边栏的顶层(即,它不在下拉列表或任何内容中),请尝试在插件文件夹(wp content/plugins/whatever plugin name)中搜索名为add\u menu\u page的函数。该函数的第二个参数是“菜单标题”,所以只要将其中的内容更改为您想要的内容即可 详情: 如果在

请问,有人能帮我吗?我需要更改wordpress中安装的插件的名称(只有管理栏中的名称才可以;)。谢谢

预览:


插件代码中有一行您可以更改以编辑此代码!但是很难说它会在哪里,因为这取决于插件

如果您的插件位于侧边栏的顶层(即,它不在下拉列表或任何内容中),请尝试在插件文件夹(wp content/plugins/whatever plugin name)中搜索名为
add\u menu\u page
的函数。该函数的第二个参数是“菜单标题”,所以只要将其中的内容更改为您想要的内容即可

详情:

如果在下拉列表下,请尝试搜索名为
添加子菜单\u页面
的函数。在这个函数中,菜单中的文本是第三个参数,所以不要使用第二个参数,将第三个参数更改为所需的标题

如果找不到
添加子菜单\u页面
,请搜索
添加插件\u页面
添加主题\u页面
或此列表中的其他页面:取决于插件页面实际所在的子菜单


重要编辑:如果插件使用这些“快捷方式”功能之一,则侧边栏中的页面名称再次成为第二个参数。

以下是更改标签的过程(在我的示例中,我将WooCommerce更改为“暂停”)。 您可以通过以下方式使用
gettext过滤器来尝试

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文件”

你看,位置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
}

作为@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');

这可能有助于他谈论一个完全不同的问题。这太简单了,我想我肯定错过了一些东西,但不,这真的很容易。嗨,这也可以更改wp admin/plugins.php上列出的插件的列表名称吗?有没有办法更改“woo”呢logo也是吗?@suiz你可以检查这个答案解释你在这里做什么。
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;
}