【问题标题】:Remove "Updates" link from Wordpress Admin Dashboard从 Wordpress 管理仪表板中删除“更新”链接
【发布时间】:2017-10-02 05:09:44
【问题描述】:

有谁知道如何删除名为“更新”的菜单链接,该链接位于 Wordpress 管理菜单的“仪表板”部分下?

我添加了以下操作和过滤器,它们停止了核心、主题和插件的更新,但菜单链接仍然存在,尽管没有什么可更新的:

# Disable WP>3.0 core updates
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

# Disable WP>3.0 plugin updates
remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

# Disable WP>3.0 theme updates
remove_action( 'load-update-core.php', 'wp_update_themes' );
add_filter( 'pre_site_transient_update_themes', create_function( '$a', "return null;" ) );

# disable edit plugin and theme files:
define('DISALLOW_FILE_EDIT',true);

# disable core updates:
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

谢谢,

西普里安

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    @wunderdojo 没有“错误”,但 WordPress 有一个更好的内置机制来处理这个问题。

    你想要的(或者最近看到这个的任何人)是一个叫做remove_submenu_page的函数 法典链接:https://codex.wordpress.org/Function_Reference/remove_submenu_page

    add_action( 'admin_menu', 'control_menu_items_shown' );
    function control_menu_items_shown() {
        remove_submenu_page( 'index.php', 'update-core.php' );
    }
    

    index.php 是“仪表板”菜单项的名称,update-core.php 是“更新”菜单子项的名称。

    请注意这些命名机制会根据插件、主题等发生很大变化。

    来自 Mandrill 插件的示例: remove_submenu_page( 'options-general.php', 'wpmandrill' );

    它们可能不会以.php结尾

    同样值得注意的是一个类似的函数remove_menu_page 法典链接:https://codex.wordpress.org/Function_Reference/remove_menu_page

    希望将来有人会发现这很有用。

    【讨论】:

      【解决方案2】:

      更新选项位于后端的两个位置。一个作为顶部的消息,第二个在仪表板的“概览”窗口中。将以下代码放在您的functions.php 中。此代码将隐藏这两个区域的更新选项。

      add_action('admin_menu','wphidenag');
      function wphidenag() {
      remove_action( 'admin_notices', 'update_nag', 3 );
      }
      function admin_style() { ?>
        <style>
        #wp-version-message a.button{
        display:none;
        }
        </style>
        <?php 
      }
      add_action('admin_enqueue_scripts', 'admin_style'); 
      

      【讨论】:

        【解决方案3】:

        应该这样做:

        function edit_admin_menus() {  
        global $submenu;  
        unset($submenu['index.php'][10]);
        return $submenu;
        }  
        add_action( 'admin_menu', 'edit_admin_menus' ); 
        

        将其放入主题的 functions.php 文件或插件代码中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-31
          • 2021-02-13
          • 2022-01-21
          • 1970-01-01
          • 1970-01-01
          • 2017-05-11
          相关资源
          最近更新 更多