remove 'MailPoet' submenu and make newsletters the default page

This commit is contained in:
Jonathan Labreuille
2016-07-05 13:16:14 +02:00
parent 5a21d3fdc8
commit f8efb3934b
2 changed files with 41 additions and 76 deletions

View File

@@ -35,28 +35,18 @@ class Menu {
} }
function setup() { function setup() {
add_menu_page( global $submenu;
$main_page_slug = 'mailpoet-newsletters';
$newsletters_page = add_menu_page(
'MailPoet', 'MailPoet',
'MailPoet', 'MailPoet',
'manage_options', 'manage_options',
'mailpoet',
array(
$this,
'home'
),
$this->assets_url . '/img/menu_icon.png',
30
);
$newsletters_page = add_submenu_page(
'mailpoet',
$this->setPageTitle(__('Newsletters')),
__('Newsletters'),
'manage_options',
'mailpoet-newsletters', 'mailpoet-newsletters',
array( array($this, 'newsletters'),
$this, $this->assets_url . '/img/menu_icon.png',
'newsletters' 30
)
); );
// add limit per page to screen options // add limit per page to screen options
@@ -71,15 +61,12 @@ class Menu {
}); });
$forms_page = add_submenu_page( $forms_page = add_submenu_page(
'mailpoet', $main_page_slug,
$this->setPageTitle(__('Forms')), $this->setPageTitle(__('Forms')),
__('Forms'), __('Forms'),
'manage_options', 'manage_options',
'mailpoet-forms', 'mailpoet-forms',
array( array($this, 'forms')
$this,
'forms'
)
); );
// add limit per page to screen options // add limit per page to screen options
add_action('load-'.$forms_page, function() { add_action('load-'.$forms_page, function() {
@@ -93,15 +80,12 @@ class Menu {
}); });
$subscribers_page = add_submenu_page( $subscribers_page = add_submenu_page(
'mailpoet', $main_page_slug,
$this->setPageTitle(__('Subscribers')), $this->setPageTitle(__('Subscribers')),
__('Subscribers'), __('Subscribers'),
'manage_options', 'manage_options',
'mailpoet-subscribers', 'mailpoet-subscribers',
array( array($this, 'subscribers')
$this,
'subscribers'
)
); );
// add limit per page to screen options // add limit per page to screen options
add_action('load-'.$subscribers_page, function() { add_action('load-'.$subscribers_page, function() {
@@ -115,15 +99,12 @@ class Menu {
}); });
$segments_page = add_submenu_page( $segments_page = add_submenu_page(
'mailpoet', $main_page_slug,
$this->setPageTitle(__('Segments')), $this->setPageTitle(__('Segments')),
__('Segments'), __('Segments'),
'manage_options', 'manage_options',
'mailpoet-segments', 'mailpoet-segments',
array( array($this, 'segments')
$this,
'segments'
)
); );
// add limit per page to screen options // add limit per page to screen options
@@ -138,15 +119,12 @@ class Menu {
}); });
add_submenu_page( add_submenu_page(
'mailpoet', $main_page_slug,
$this->setPageTitle( __('Settings')), $this->setPageTitle( __('Settings')),
__('Settings'), __('Settings'),
'manage_options', 'manage_options',
'mailpoet-settings', 'mailpoet-settings',
array( array($this, 'settings')
$this,
'settings'
)
); );
add_submenu_page( add_submenu_page(
'admin.php?page=mailpoet-subscribers', 'admin.php?page=mailpoet-subscribers',
@@ -154,10 +132,7 @@ class Menu {
__('Import'), __('Import'),
'manage_options', 'manage_options',
'mailpoet-import', 'mailpoet-import',
array( array($this, 'import')
$this,
'import'
)
); );
add_submenu_page( add_submenu_page(
@@ -166,10 +141,7 @@ class Menu {
__('Export'), __('Export'),
'manage_options', 'manage_options',
'mailpoet-export', 'mailpoet-export',
array( array($this, 'export')
$this,
'export'
)
); );
add_submenu_page( add_submenu_page(
@@ -178,10 +150,7 @@ class Menu {
__('Welcome'), __('Welcome'),
'manage_options', 'manage_options',
'mailpoet-welcome', 'mailpoet-welcome',
array( array($this, 'welcome')
$this,
'welcome'
)
); );
add_submenu_page( add_submenu_page(
@@ -190,10 +159,7 @@ class Menu {
__('Update'), __('Update'),
'manage_options', 'manage_options',
'mailpoet-update', 'mailpoet-update',
array( array($this, 'update')
$this,
'update'
)
); );
add_submenu_page( add_submenu_page(
@@ -202,10 +168,7 @@ class Menu {
__('Form editor'), __('Form editor'),
'manage_options', 'manage_options',
'mailpoet-form-editor', 'mailpoet-form-editor',
array( array($this, 'formEditor')
$this,
'formEditor'
)
); );
add_submenu_page( add_submenu_page(
@@ -214,28 +177,28 @@ class Menu {
__('Newsletter Editor'), __('Newsletter Editor'),
'manage_options', 'manage_options',
'mailpoet-newsletter-editor', 'mailpoet-newsletter-editor',
array( array($this, 'newletterEditor')
$this,
'newletterEditor'
)
); );
add_submenu_page( add_submenu_page(
'mailpoet', $main_page_slug,
$this->setPageTitle(__('Cron')), $this->setPageTitle(__('Cron')),
__('Cron'), __('Cron'),
'manage_options', 'manage_options',
'mailpoet-cron', 'mailpoet-cron',
array( array($this, 'cron')
$this,
'cron'
)
); );
}
function home() {
$data = array(); // override main page's submenu title
echo $this->renderer->render('index.html', $data); if(!empty($submenu[$main_page_slug][0][0])) {
$submenu[$main_page_slug][0][0] = __('Newsletters');
}
// override main page title
if(!empty($submenu[$main_page_slug][0][3])) {
$submenu[$main_page_slug][0][3] = $this->setPageTitle(__('Newsletters'));
}
} }
function welcome() { function welcome() {
@@ -253,13 +216,14 @@ class Menu {
or or
strpos($redirect_url, 'mailpoet') === false strpos($redirect_url, 'mailpoet') === false
) { ) {
$redirect_url = admin_url('admin.php?page=mailpoet'); $redirect_url = admin_url('admin.php?page=mailpoet-newsletters');
} }
$data = array( $data = array(
'settings' => Setting::getAll(), 'settings' => Setting::getAll(),
'current_user' => wp_get_current_user(), 'current_user' => wp_get_current_user(),
'redirect_url' => $redirect_url 'redirect_url' => $redirect_url,
'sub_menu' => 'mailpoet-newsletters'
); );
echo $this->renderer->render('welcome.html', $data); echo $this->renderer->render('welcome.html', $data);
} }
@@ -277,13 +241,14 @@ class Menu {
or or
strpos($redirect_url, 'mailpoet') === false strpos($redirect_url, 'mailpoet') === false
) { ) {
$redirect_url = admin_url('admin.php?page=mailpoet'); $redirect_url = admin_url('admin.php?page=mailpoet-newsletters');
} }
$data = array( $data = array(
'settings' => Setting::getAll(), 'settings' => Setting::getAll(),
'current_user' => wp_get_current_user(), 'current_user' => wp_get_current_user(),
'redirect_url' => $redirect_url 'redirect_url' => $redirect_url,
'sub_menu' => 'mailpoet-newsletters'
); );
echo $this->renderer->render('update.html', $data); echo $this->renderer->render('update.html', $data);

View File

@@ -1,6 +1,6 @@
<% if sub_menu %> <% if sub_menu %>
<script type="text/javascript"> <script type="text/javascript">
jQuery('.toplevel_page_mailpoet.menu-top-last') jQuery('.toplevel_page_mailpoet-newsletters.menu-top-last')
.addClass('wp-has-current-submenu') .addClass('wp-has-current-submenu')
.find('a[href$="<%= sub_menu %>"]') .find('a[href$="<%= sub_menu %>"]')
.addClass('current') .addClass('current')