如何在不创建管理页面菜单的情况下获取页面的 slug 名称

Posted

技术标签:

【中文标题】如何在不创建管理页面菜单的情况下获取页面的 slug 名称【英文标题】:How to get a slug name for a page without creating an admin page menu 【发布时间】:2012-07-20 13:35:09 【问题描述】:

我现在使用 add_submenu_page() 函数,但我不希望编辑页面出现在管理菜单中。

我想直接从列表(另一个页面)访问编辑页面。但我需要 slug 作为 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,但如果不创建管理菜单项,我不知道如何获得它。

【问题讨论】:

【参考方案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' );
    

【讨论】:

以上是关于如何在不创建管理页面菜单的情况下获取页面的 slug 名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在不重新加载页面的情况下获取数据表单数据库?

如何在不刷新页面加载的情况下保留 jQuery 和 Bootstrap 功能?

如何在不使用情节提要的情况下获取视图控制器的 NibName

如何在不提示用户提供 Facebook 权限的情况下在 iOS 应用程序中获取公共 Facebook 页面的提要?

在不加载页面的情况下从“按类别排序帖子”菜单更改 <div> 内的内容

如何在不通过视图在所有页面中发送表单的情况下从 django 布局(如“base.html”)获取表单数据?