Как получить имя slug для страницы без создания меню страницы администратора

Теперь я использую функцию add_submenu_page(), но я не хочу, чтобы страница редактирования отображалась в меню администратора.

Я хочу напрямую получить доступ к странице редактирования из списка (другой страницы). Но мне нужен слаг как hook_suffix.

у меня есть в my-edit.php

/* Set up the administration functionality. */
add_action( 'admin_menu', 'my_edit_setup' );

function my_edit_setup() {
...
/* Add Edit Actionlist page. */
$myplugin->my_edit = add_submenu_page( 'myplugin', esc_attr__( 'Edit', 'myplugin' ), esc_attr__( 'Edit', 'myplugin' ), 7, 'my-edit', 'my_edit' );
...

В admin.php у меня есть:

function my_admin_enqueue_style( $hook_suffix ) {

  $pages = array(
    'admin_page_projects',
        '...my-edit'
  );

  if ( in_array( $hook_suffix, $pages ) ) {
    wp_enqueue_style( 'myplugin-admin', trailingslashit( MYPLUGIN_URI ) . 'css/admin.css', false, '20110525', 'screen' );

Видите ли, мне нужен $hook_suffix, но я не могу понять, как его получить, не создавая пункт меню администратора.


person byRox    schedule 21.07.2012    source источник


Ответы (1)


Пример создания невидимого подменю (оно прикрепляется к панели инструментов, index.php) и соответствующее ему $hook_suffix.

Доступ к странице возможен через http://example.com/wp-admin/index.php?page=sample_page_hidden.

add_action(  'admin_menu', 'admin_menu_so_11593510' );
add_action( 'admin_enqueue_scripts', 'admin_enqueue_scripts_so_11593510' );

function admin_menu_so_11593510() 
{
    add_submenu_page(
        null, // doesn't shows up in the menu, submenu is attached to "index.php"
        'Test', 
        'Test', 
        'edit_pages', 
        'sample_page_hidden', 
        'menu_options_so_11593510'
    );
}

function menu_options_so_11593510() { echo 'Hello!'; }

function admin_enqueue_scripts_so_11593510( $hook_suffix )
{
    if ( 'dashboard_page_sample_page_hidden' == $hook_suffix ) {
        wp_enqueue_script( 'swfobject' );
    }
}
person brasofilo    schedule 18.02.2013