it-swarm.com.de

Funktionen nur im Admin-Bereich ausführen?

Ich möchte, dass dieser Code nur im Admin-Bereich ausgeführt wird, da die Elemente auch in der öffentlichen Administrationsleiste neu angeordnet werden.

  /* 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');
2
agileapricot

Das Zuweisen einiger Filter an Hooks, die am Frontend einfach nicht ausgelöst werden, ist mit sehr geringem Aufwand verbunden.

Im Allgemeinen wäre es ungefähr so:

add_action('init', 'admin_only');

function admin_only() {

    if( !is_admin() )
        return;

    // filter assignemnts and such go here
}

Außerdem wird create_function() aus Gründen der Leistung und aus anderen Gründen nicht empfohlen. Es ist besser, modernere anonyme Funktionen zu verwenden , aber für Fälle wie diesen bietet WordPress eine vorgefertigte Funktion __return_true().

4
Rarst

benutze den Hook admin_init und spätere Hooks, der init-Hook kommt wirklich früher als nur der admin. Wenn Sie jedoch li18n-Funktionen oder AJAX verwenden, ist es wichtig, dass Sie init verwenden.

1
bueltge

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";
}
0
Andrey Shandrov