© 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

Deutsche Sprachdatei für WP Polls 2.50

Im Zuge eines Kundenprojektes habe ich mich nochmal näher mit dem tollen Plugin WP-Polls beschäftigt, aber dabei feststellen müssen, dass keine deutsche Sprachdatei beiliegt. Aber wenigstens eine languageready .pot, woraus man eine eigene Sprachdatei generieren kann.

Hier könnt ihr die aktuelle Version herunterladen:

edit: die Sprachdatei ist schon veraltet und wird nicht mehr zum Download angeboten

einfach entpacken und ins Pluginverzeichnis hochladen. Sollte die Datei nicht geladen werden, einfach in de.mo & de.po umbenennen. Bitte beachtet, dass einige Texte in den WP-Poll Templates gespeichert werden. Diese lassen sich in den Plugineinstellungen unter admin.php?page=wp-polls/polls-templates.php (Umfrage Templates) bearbeiten.

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

WordPress Blog auf 1&1 Hosting fehlerfrei betreiben

Gestern bekam ich einen Anruf von einem Buddy aus Facebook. Er hatte etwas Schwierigkeiten WordPress 2.9 auf seinem 1&1 Hostingpaket funktionstüchtig ans Laufen zu bekommen. Vor 2 Jahren hätte ich ihm da aus dem Stehgreif heraus helfen können, aber seit ich meine Projekte auf meinen vServer bei 1&1 betreibe und somit vollen Zugriff auf meine Einstellungen, ist mir die Fummelei auf den Hostingpaketen in Vergessenheit geraten 😉 Er hat es dann aber herausgefunden, nachdem ich ihm den Hinweis auf die .htaccess Konfiguration gegeben habe. Allerdings hat mir das keine Ruhe gelassen. In meinem Trainingshandbuch will ich ja auch gerade auf solche Fehler eingehen, um dem „Neuling“ patente Lösungen an die Hand zu geben. Ich kann mich zwar noch dunkel an meine anfänglichen Schwierigkeiten erinnern und die STUNDEN… bis ich die Lösung gefunden habe. Heute ist das alles für mich Routine.

Wie der Zufall es will, habe ich eben einen sehr gut zusammen gestellten Artikel bei www.erfolgs-blogging.de gefunden. Jürgen Schnick hat sich der Problematik auf 1&1 Hostingpaketen angenommen und einen übersichtlichen und leicht verständlichen Leitfaden ins Blog geschrieben.



hier ein kleines Beispiel:

Nach einigen Rückfragen und Recherchen im Internet hatte ich die Lösung: Der Fehler 500 tritt offensichtlich immer dann auf, wenn sehr große Dateien aufgerufen werden.

Als erstes muss man seine 1 & 1 Domain PHP5 fähig machen, indem man in einer .htaccess Datei folgende Zeilen am Anfang einfügt:

AddType x-mapp-php5 .php

AddHandler x-mapp-php5 .php

Danach erscheint ein Aufruf der wp-login.php korrekt.

Es gibt aber leider bei 1 & 1 noch andere Gründe für Fehler 500.

hier kannst du seinen kompletten Artikel lesen: http://www.erfolgs-blogging.de/problemloesungen/500-internal-server-error

Mein Dank geht an Jürgen, der noch weitere interessante Artikel auf seinem Blog zum Lesen bereit hält.

WP Camp Webring