web-dev-qa-db-ja.com

管理メニューなしでwordpressで管理ページを作成する( "wordpress sidebars")

私はテーマのためにWordPress管理者で新しいページを作成しています。この新しいページには、(フォームに)登録された人のリストが表示されますが、詳細情報はほとんどありません。それで、ある人が何かをクリックしたとき、私は(すべての情報と共に)「ポップアップ」を開きたいが、WordPress管理のメニューにこのポップアップ/ページを表示したくない。方法はありますか?

1
Matheus Eduardo

あなたはAjaxでポップアップを表示するために内蔵のThickBoxを使うことができます:

//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;  
}
3
Bainternet

私はあなたがワードプレスフィルタを使用してその新しい管理者ページの本文にcssクラスを追加し、ページ内の不要なアイテムを隠すためにcssを使用することができると思います。

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

0
gruvii