© 2017
A MarketPress Theme

add_menu_pages_code

WordPress Debug: „Notice: has_cap was called with an argument that is deprecated since version 2.0!”

Bei der Pluginprogrammierung bzw. Theme-Entwicklung stellt der pflichtbewusste WordPress Developer gerne auf „Debug Modus“ um seine eigenen Arbeiten zu kontrollieren bzw. Fehler schneller zu finden.
Um den Debug Modus zu aktivieren setzt man in der wp-config.php folgende Variable auf „true“:

//wp-config.php

define('WP_DEBUG', true);

Nun habe ich eben an einem Kundenprojekt gearbeitet, wo ein Lizenztheme aus dem Themepool von Themeforest verwendet wird, mit Erschrecken beim Aktivieren eine Fehlermeldung im Adminbereich sehen müssen.

Notice: has_cap wurde mit einem Parameter oder Argument aufgerufen, der seit Version 2.0 veraltet ist! 
Die Benutzung von user_level in Plugins und Themes ist veraltet. Nutze stattdessen das Abfragen von roles oder capabilities.

Kurze Nachforschungen haben ergeben, dass es sich um eine veraltete Form in den Paramentern des Funktionsaufruf:

add_menu_page

und

add_submenu_page

. Bei Nicky Hajal bin ich auf die Lösung gestossen:

//Falsch, nutzt '8' als Rollendefinition

add_menu_page( 'UtMan', 'UtMan', 8, 'utman', array(&$this, 'mainAdmin'), null, 6);

//Richtig: Erlaubnis geändert in 'edit_pages' (darf Seiten editieren)

add_menu_page( 'UtMan', 'UtMan', 'edit_pages', 'utman', array(&$this, 'mainAdmin'), null, 6);

//Falsch, nutzt 'administrator' als Rollendefinition

add_submenu_page('utman', 'UtMan Requests', 'Requests', 'administrator', 'utman-requests', array(&$this, 'requestPage'));

//Richtig: Erlaubnis geändert in 'edit_pages' (darf Seiten editieren)

add_submenu_page('utman', 'UtMan Requests', 'Requests', 'edit_pages', 'utman-requests', array(&$this, 'requestPage'));

Seit einiger Zeit wurden die sog. User Level Abfragen ausgetauscht und durch „Roles and Capabilities“ ersetzt, die eine feinere Abstimmung in den Funktionen bietet. Somit bietet sich bei der Theme Programmierung das “

install_themes

als Erlaubnisabfrage an.

 add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );

weitere Informationen auch im offiziellen Codex:
http://codex.wordpress.org/Adding_Administration_Menus
http://codex.wordpress.org/Roles_and_Capabilities

WordPress Templatetags als Codesnippets in WeBuilder

Seit einger Zeit nutze ich die Entwicklersoftware „WeBuilder“ von Blumentals. Bisher habe ich die Templatetags aus dem Codex kopiert, wenn ich sie brauchte was aber immer sehr mühselig war. Nun hat WeBuilder eine Bibliothek integriert mit diversen Codschnippseln für alle möglichen Programmiersprachen und man kann auch eigene Snippets hinzufügen.

Nun hätte ich mir auch alles, was ich an Template Tags für WordPress brauche händisch eingeben können, aber ich bin ja auch etwas bequem 😉 leider kann man nicht wie bei anderen Snippettools einzelne Ordner exportieren geschwiege denn importieren. So muss man doch etwas Hand anlegen. Aber Gott sei Dank gibt es jemanden, der mir einen Großteil der Arbeit abgenommen hat. Im Supportforum von Blumentals bin ich fündig geworden. Der User turicon bietet eine Snippetdatei zum Download an.

Minitutorial

  • RapidPHP bzw. WeBuilder schließen sofern noch geöffnet
  • die library.xml im Ordner C:Documents and SettingsYOUR USER NAMEApplication DataBlumentalsWeBuilder(or RapidPHP)settings) sichern
  • in einem einfachen Textedior öffnen – auf keinen Fall WeBuilder oder RapidPHP und auch nicht Word 😉
  • nach </Folder-list> suchen
  • und den Inhalt der u. angehangenden Datei davor einfügen
  • speichern und WeBuilder bzw. RapidPHP starten

Nun erscheint in der Bibliothek ein Ordner „WordPress“ mitsamt Unterordner. Natürlich steht es jedem frei diesen noch mit eigenen Snippets zu erweitern. Natürlich kann man auf diese Art auch eigene Snippets „exportieren“, indem man die passenden Stellen aus der Library kopiert und als .txt Datei abspeichert.

Disclaimer: Für die Vollständigkeit und Aktualität kann ich an dieser Stelle keine Gewähr übernehmen. Die Verwendung dieser Library erfolgt auf eigenes Risiko

weBuilder_wordpress-library.txt

WP Camp Webring