在没有管理菜单的WordPress中创建管理页面(“WordPress侧边栏”)

时间:2011-08-10 作者:Matheus Eduardo

我正在WordPress admin中为主题创建一个新页面。在这个新页面中,将显示注册人员的列表(以表格形式),但没有多少详细信息。因此,当一个人点击某个东西时,我想打开一个“弹出窗口”(包含所有信息),但不想在WordPress管理的菜单中显示这个弹出窗口/页面。有什么办法吗?

2 个回复
SO网友:Bainternet

您可以使用内置的ThickBox通过Ajax显示弹出窗口:

//first add thickbox to your page
function add_thickbox(){
    if(is_admin() && (isset($_GET[\'page\']) && $_GET[\'page\'] == "my-plugin-file.php") { 
    wp_enqueue_script(\'jquery\');
    wp_enqueue_script(\'thickbox\',null,array(\'jquery\'));
    wp_enqueue_style(\'thickbox.css\', \'/\'.WPINC.\'/js/thickbox/thickbox.css\', null, \'1.0\');
    }
}
add_action(\'wp_enqueue_script\',\'add_thickbox\');


//then in your user list for each user you add the thickbox 
//popup on the onclick and pass the info needed (like user id) so eg:

?>
<!-- for each user add -->
 <a class="thickbox" onclick="javascript: show_user_info(user_id)">user name</a>
<!-- and then add this function once --> 
<script>
function show_user_info(user_id){
    var aj_url = \'admin-ajax.php?action=my_get_user_info&user_id=\' + user_id;
    tb_show(\'userinfo\',aj_url );
}
</script>

<?php 
//so all you have left is to create the ajax processing function :
add_action(\'wp_ajax_my_get_user_info\', \'my_AJAX_processing_function\');
function my_AJAX_processing_function(){
    //echo user info 
    //and remember to die;  
}

SO网友:gruvii

我认为您可以使用wordpress过滤器将css类添加到新管理页面的主体中,然后使用css隐藏页面中不需要的项目。

https://stackoverflow.com/questions/2466073/add-a-custom-class-name-to-wordpress-body-tag

结束

相关推荐

Admin area 'toggle' w/ cookie

wordpress管理员已经在菜单和元数据库上使用了某种切换。。w/“点击切换”按钮,可记住打开与关闭状态。有人知道什么代码应该对此负责吗?我想将其实现到我的自定义Metabox的各个部分中,当WP默认具有此功能时,我似乎不需要向管理区域添加脚本(b/c它已经很慢了)。