Die WordPress Admin Bar für die eigene Entwicklung anpassen

Vorschaubild für Blogbeitrag

Theme Versionen in der Admin Bar

Um unsere Projekte zu entwickeln, erweitern wir hier und da unsere Entwicklungsumgebungen, um effizienter zu sein, Zeit zu sparen oder einfach weniger Fehler zu machen. Für unsere WordPress Entwicklungen wollten wir schneller sehen, in welcher Version sich welches Projekt momentan befindet, was sowohl das Parent- als auch das Child-Theme betrifft. Diese können einfach in der Admin Bar ausgegeben werden. Dazu nutzen wir den admin_bar_menu Hook in dem wir der übergebenen Admin Bar, welche wir hier als Parameter erhalten, einfach ein weiteres Element mittels der add_node Funktion hinzufügen.

function add_version_nodes($wp_admin_bar)
  {
      // add a parent item
      $args = array(
          'id'        => 'your-id',
          'title'     => 'v.' . YOUR_THEME_VERSION,
          'parent'    => 'top-secondary',
          'meta'      => [],
      );
      $wp_admin_bar->add_node($args);
  }
add_action('admin_bar_menu', 'add_version_nodes');

Hierbei solltest du noch eine ‘id’, sowie das ‘parent’ Attribute setzen damit deine Elemente an der richtigen Stelle ausgeben werden kann. Mit dem ‘meta’ array können noch weitere Daten wie eine Klasse und weiteres HTML übergeben werden. Um nun aber direkt die aktuelle Version des Themes auszugeben, solltest du zu aller erst deine Theme Version als Konstante in deiner functions.php verwalten, welche dann hier als ‘YOUR_THEME_VERSION’ mit dem ‚title‘ Attribute ausgegeben wird.

Aktueller Git Branch in der Admin Bar anzeigen

Weiter können wir unseren aktuellen Git Branch in der Admin Bar ausgeben, dazu nutzen wir den gleichen Ansatz wie eben. Hierbei nutzen wir eine definierte Konstante ‘YOUR_THEME_DIR’ welche auf das root Directory unseres Themes zeigt. Damit prüfen wir ob unser ‘.git‘ existiert und ziehen uns den Inhalt der ‘HEAD’ Datei welche den aktuellen Git Branch Namen beinhaltet. Das geschafft, müssen wir diesen nur noch in einem neuen Admin Bar Element übergeben.

function add_git_branch($wp_admin_bar)
  {
      if (file_exists(YOUR_THEME_DIR . '.git')) :
          $gitStr = file_get_contents(YOUR_THEME_DIR . '.git' . '/HEAD');
          $gitBranchName = rtrim(preg_replace("/(.*?\/){2}/", '', $gitStr));

          // add a parent item
          $args = array(
              'id'        => 'git-branch',
              'title'     => $gitBranchName,
              'parent'    => 'top-secondary',
              'meta'         => [
                  'title'     => 'Git Branch Name',
              ],
          );
          $wp_admin_bar->add_node($args);
      endif;
  }
add_action('admin_bar_menu', 'add_git_branch');