• File: class-submenu-capability-normalize.php
  • Full Path: /home/matthif/www/wp-content/plugins/wordpress-seo/admin/menu/class-submenu-capability-normalize.php
  • Date Modified: 02/24/2024 11:29 PM
  • File size: 1016 B
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin\Menu
 */

/**
 * Normalize submenu capabilities to `wpseo_manage_options`.
 */
class WPSEO_Submenu_Capability_Normalize implements WPSEO_WordPress_Integration {

    
/**
     * Registers all hooks to WordPress.
     *
     * @return void
     */
    
public function register_hooks() {
        
add_filter'wpseo_submenu_pages', [ $this'normalize_submenus_capability' ] );
    }

    
/**
     * Normalizes any `manage_options` to `wpseo_manage_options`.
     *
     * This is needed as the module plugins are not updated with the new capabilities directly,
     * but they should not be shown as main menu items.
     *
     * @param array $submenu_pages List of subpages to convert.
     *
     * @return array Converted subpages.
     */
    
public function normalize_submenus_capability$submenu_pages ) {
        foreach ( 
$submenu_pages as $index => $submenu_page ) {
            if ( 
$submenu_page[3] === 'manage_options' ) {
                
$submenu_pages$index ][3] = 'wpseo_manage_options';
            }
        }

        return 
$submenu_pages;
    }
}