I would try that.
But while I was testing the code, Editors are getting this error with is_admin() :
Sorry, you are not allowed to access this page.
Here’s my backend.php initial code:
<?php
function gret_init()
{
load_plugin_textdomain( 'gret', '', dirname( plugin_basename( ___FILE___ ) ) . '/lang' );
}
add_action( 'admin_init','gret_init' );
include( 'fields.php' );
function gret_settings_action_links( $links, $file )
{
array_unshift( $links, '<a href="' . admin_url( 'admin.php?page=gret_add_friend' ) . '">' . __( 'Add new friend', 'gret' ) . '</a>' );
return $links;
}
add_filter( 'plugin_action_links_'.plugin_basename( ___FILE___ ), 'gret_settings_action_links', 10, 2 );
function gret_admin_menu()
{
global $menu;
$pos = null;
for( $i=9; $i>=0; $i-- ){
if( !isset( $menu[$i] ) ) {
$pos = $i;
break;
}
}
// All my pages
add_menu_page( __( 'Friends list', 'gret' ), __( 'Friendship', 'gret' ), 'manage_options', 'gret_list_friends', 'gret_list_codes', plugins_url( '/images/icon.png', ___FILE___ ), $pos );
add_submenu_page( 'gret_list_friends', __( 'Add new friends', 'gret' ), __( 'Add new friends', 'gret' ), 'manage_options', 'gret_list_friends', 'gret_list_codes' );
add_submenu_page( 'gret_list_friends', __( 'Suggested Friends', 'gret' ), __( 'Suggested New friends', 'gret' ), 'manage_options', 'gret_rand_friends', 'gret_rand_friends' );
add_submenu_page( 'gret_list_friends', __( 'Current Friends', 'gret' ), __( Current Friends', 'gret' ), 'manage_options', 'gret_list_friends', 'gret_list_friends' );
add_submenu_page( 'gret_list_friends', __( 'Some options', 'gret' ), __( 'Some Options', 'gret' ), 'manage_options', 'gret_settings', 'gret_settings_page' );
// and registered settings
register_setting( 'gret_list_code', 'gret_field_code', 'gret_fields_cb' );
register_setting( 'gret_rand_friends', 'gret_field_prefix', 'gret_fields_cb2' );
register_setting( 'gret_settings', 'gret_fields' );
}
add_action( 'admin_menu', 'gret_admin_menu' );