web-dev-qa-db-fra.com

Créer une page d'administrateur dans wordpress sans menus d'administrateur ("wordpress sidebars")

Je crée une nouvelle page dans l'administrateur WordPress pour un thème. Dans cette nouvelle page sera une liste de personnes enregistrées (dans un formulaire), mais avec peu de détails/informations. Donc, quand une personne clique sur quelque chose, je voudrais ouvrir une "pop-up" (avec toutes les informations) mais pas afficher cette popup/page dans les menus de l'administration WordPress. Y a-t-il un moyen?

1
Matheus Eduardo

Vous pouvez utiliser la ThickBox intégrée pour afficher le popup par 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;  
}
3
Bainternet

Je pense que vous pourriez ajouter une classe CSS au corps de cette nouvelle page d’administrateur en utilisant un filtre wordpress, puis utiliser CSS pour masquer les éléments indésirables de la page.

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

0
gruvii