Eseguire funzioni solo nella zona di amministrazione?
-
16-10-2019 - |
Domanda
Mi piacerebbe questo codice per eseguire solo all'interno dell'area di amministrazione in quanto sta ricorrendo le voci sulla barra di amministrazione lato pubblico anche.
/* Reorder Admin Menu to put "Pages" at the top */
function menu_order_filter($menu) {
$content_menu = array('edit.php?post_type=page');
array_splice($menu, 2, 0, $content_menu);
return array_unique($menu);
}
add_filter('custom_menu_order', create_function('', 'return true;'));
add_filter('menu_order', 'menu_order_filter');
Soluzione
C'è molto poco in testa ad assegnare paio di filtri a ganci che semplicemente non sarà il fuoco sulla parte anteriore.
In generale, sarebbe qualcosa di simile:
add_action('init', 'admin_only');
function admin_only() {
if( !is_admin() )
return;
// filter assignemnts and such go here
}
Anche create_function()
non è raccomandato per le prestazioni e alcune altre ragioni. E 'meglio usare più moderno funzioni anonime , ma per casi come questo WordPress fornisce funzione __return_true()
ready-made.
Altri suggerimenti
utilizzare l'admin_init gancio e ganci successivi, l'init-Hook realmente viene in precedenza come solo l'amministratore. Ma è importante, quando si utilizzano li18n-funzioni o AJAX, di quello che è meglio si utilizza init.
https://codex.wordpress.org/Function_Reference/is_admin
if ( ! is_admin() ) {
echo "You are viewing the theme";
} else {
echo "You are viewing the WordPress Administration Panels";
}