IMPRESSUM   |   * = Affiliatelinks    
   18.August 2009

Werbung

In diesem Gastartikel beschreibt Stefan Wienströer von SteviesWebsite Blog die Erstellung eines einfachen Plugins für WordPress. Auf seinem Blog schreibt er über viele Programmierthemen.

Oft kann es ganz hilfreich sein, sich seine eigenen Plugins für den WordPress Adminbereich zu schreiben. Denn jeder Blog ist anders und es gibt wahrscheinlich kein Plugin, was perfekt für jeden ist.

Ich möchte euch heute eine kleine Starthilfe geben und vielleicht entscheidet ihr euch ja dazu, selbst mal ein Plugin zu entwickeln.

Für das Entwickeln von Plugins sollte man allerdings Grundkenntnisse in PHP besitzen. Wer diese noch nicht hat, sollte sich am besten ein entsprechendes Buch dafür besorgen.

Das Beispiel

Wir erstellen heute ein Plugin, mit welchem man seine Profile bei Blogverzeichnissen anzeigen lassen kann.

Es ist sehr simpel aufgebaut, damit man schnell verstehen kann, wie man anfängt.

Basisdaten

Wenn ihr mal in die WordPress Plugin-Verwaltung schaut, werdet ihr sehen, dass jedes Plugin folgende Eigenschaften hat:

  • Name
  • Plugin Url
  • Beschreibung
  • Autor
  • Version
  • Autoren Url

Diese Daten stehen im PHP-Kommentar in der jeweiligen Basisdatei des Plugins. Für unser Profil-Plugin sieht das dann zum Beispiel so aus:

<?php
/*
Plugin Name: Profile
Plugin URI: http://blog.stevieswebsite.de
Description: Dieses Plugin zeigt die Profile f&uuml;r Blogverzeichnisse an.
Author: SteviesWebsite
Version: 1.0
Author URI: http://blog.stevieswebsite.de

?>

Der Code muss dann dort gespeichert werden:
/wp-content/plugins/{pluginname}/{pluginname}.php

In unseren Fall ist das dann der folgende Dateiname:
/wp-content/plugins/profile/profile.php

Wenn das ganze jetzt hochgeladen ist, kann man die Beschreibung bei den Plugins sehen.

Dafür muss man auf Plugins->Verwalten->Inaktive gehen. Hier wird dann auch unser Plugin angezeigt:
WordPress Plugins schreiben

Nach der Aktivierung des Plugins werdet ihr noch nicht viel sehen können, weil wir ja schließlich auch noch nicht wirklich etwas erstellt habe. Das wird sich jetzt ändern.

Im nächsten Schritt werden wir folgendes Menü erstellen:
WordPress Plugins schreiben

Admin Menü registrieren

In WordPress muss man sein Admin-Menü registrieren. Das Erstellen der Menüeinträge erfolgt in einer eigenen Funktion. Diese wird mit add_action registriert und das Funktioniert so:

add_action('admin_menu', 'profileAddMenu');

Nun wird beim Aufbau des Admin-Menüs die Funktion profileAddMenu aufgerufen, welche wir jetzt erstellen:

function profileAddMenu() {
  add_menu_page('Profile', 'Profile', 10, __FILE__, 'profile');
  add_submenu_page(__FILE__, 'Bloggerei', 'Bloggerei', 10, 'bloggerei', 'bloggerei');
  add_submenu_page(__FILE__, 'Blogoscoop', 'Blogoscoop', 10, 'blogoscoop', 'blogoscoop');
  add_submenu_page(__FILE__, 'Top Blogs', 'Top Blogs', 10, 'topblogs', 'topblogs');
}

Und zwar wird hier mit add_menu_page der Eintrag im Hauptmenü erstellt. Dieser ist später immer zu sehen. Die Funktion hat die folgenden Parameter:

  • Seitentitel: Dieser Seitentitel wird später im <title>-Element beim Aufruf der Seite eingefügt.
  • Menütext: Das ist der Text, der im Menü angezeigt wird.
  • Zugriffslevel: Das Menü wird nur angezeigt, wenn der Benutzer einen bestimmten Rang hat. In unseren Fall ist es 10 für den Admin. Weitere Ränge kann man hier nachlesen..
  • Datei: Die Datei, in der die Funktion ist, welche den Inhalt ausgibt. __FILE__ heißt, dass die Datei sich in der selben Datei befindet.
  • Funktion: Der Name der Funktion die aufgerufen werden soll.
  • Icon: Hier kann man die Icon-Url angeben. Wird sie weggelassen, wird ein Zahnrad angezeigt.

Untermenüs erstellen

Bei den Untermenüs könnt ihr eure Profile auflisten. Ich hab jetzt mal Bloggerei, Blogoscoop und Top Blogs genommen.
Die Funktion add_submenu_page hat dabei folgende Parameter. Ich hab jetzt mal nur eine Beschreibung erstellt, wenn die Beschreibung anders ist als bei add_menu_page:

  • Parent: Dort muss die Hauptdatei des Admin-Plugins angegeben werden. In diesem Fall ist das die gleiche Datei, also können wir hier __FILE__ nehmen.
  • Seitentitel
  • Menütext
  • Zugriffslevel
  • Datei
  • Funktion

Jetzt haben wir es auch schon fast geschafft. Wir müssen nur noch die Funktionenn erstellen, die den Inhalt ausgeben. Hier kann einfach mit echo oder Ähnlichen der Inhalt ausgegeben.

Ich habe jetzt mal mit IFrames die jeweiligen Profile angezeigt. Außerdem werden diese auch noch auf der Profile-Seite aufgelistet. So sieht nun die fertige Datei aus:

<?php
/*
Plugin Name: Profile
Plugin URI: http://blog.stevieswebsite.de
Description: Dieses Plugin zeigt die Profile f&uuml;r Blogverzeichnisse an.
Author: SteviesWebsite
Version: 1.0
Author URI: http://blog.stevieswebsite.de

function profile() {
  ?>
    <h1>Profile</h1>
    <a href="/wp-admin/admin.php?page=bloggerei">Bloggerei</a><br />
    <a href="/wp-admin/admin.php?page=blogoscoop">Blogoscoop</a><br />
    <a href="/wp-admin/admin.php?page=topblogs">Top Blogs</a><br />
  <?PHP
}

function bloggerei() {
  echo "<iframe style="width:100%;height:600px"
src="http://www.bloggerei.de/blog/9176/stevieswebsite-blog"></iframe>";
}

function blogoscoop() {
  echo "<iframe style="width:100%;height:600px"
src="http://www.blogoscoop.net/blog/blog.stevieswebsite.de"></iframe>";
}

function topblogs() {
  echo "<iframe style="width:100%;height:600px"
src="http://www.topblogs.de/blog-5901.html"></iframe>";
}


function profileAddMenu() {
  add_menu_page('Profile', 'Profile', 10, __FILE__, 'profile');
  add_submenu_page(__FILE__, 'Bloggerei', 'Bloggerei', 10, 'bloggerei', 'bloggerei');
  add_submenu_page(__FILE__, 'Blogoscoop', 'Blogoscoop', 10, 'blogoscoop', 'blogoscoop');
  add_submenu_page(__FILE__, 'Top Blogs', 'Top Blogs', 10, 'topblogs', 'topblogs');
}
 
add_action('admin_menu', 'profileAddMenu');
?>
Wie geht es weiter?

Das kann natürlich nur ein erster Einblick in die Erstellung von WordPress-Plugins sein. Wer mehr wissen will, der sollte in Zukunft wieder hier vorbeischauen, da ich meine Erfahrungen bei der Erstellung eigener Plugin sicher hier weitergeben werde.

Im neuen WordPress Buch * von Frank Bültge und Thomas Boley wird unter anderem die Entwicklung von WordPress-Plugins behandelt. Ein sehr empfehlenswertes Buch.

0Artikel tweeten
Bei einem Klick auf den Twitter-Button gelangen Sie zu Twitter und dort werden Daten erhoben. Wir haben keinen Einfluss auf den Umfang der Daten, die Twitter erhebt.
Werbung



Ähnliche Einträge:
  1. 10 wichtige WordPress-Plugins für neue Blogs
  2. Die besten Statistik-Plugins für WordPress
  3. 5 Plugins um WordPress sicherer zu machen
  4. Die 10 besten SEO-Plugins für WordPress
  5. Die 12 besten Top-Listen für Blogs


Feedburner FeedDer Artikel hat Dir gefallen?
Dann abonniere den
"Blogprojekt"-Blog!

Diesen Artikel weiterempfehlen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Webnews
  • MisterWong
  • Y!GG
  • Infopirat
  • SEOigg
  • Technorati
  • Wikio DE
  • Linkarena
  • TwitThis

12 Kommentare
  1.  
     

    1 Ein Kommentar von Markus am 18 Aug, 2009

    vielen dank für das Tutorial :)

     
     
  2.  
     

    2 Ein Kommentar von Benni am 18 Aug, 2009

    add_submenu_page(__FILE__, ‘Bloggerei’, ‘Bloggerei’, 10, ‘bloggerei’, ‘bloggerei’);

    Dann wäre der Wert des Parameters “Datei” = bloggerei … versteh ich nicht.

     
     
  3.  
     

    3 Ein Kommentar von Peer am 18 Aug, 2009

    Ich bin zwar auch erst dabei, durch die Tiefen des WordPress-Plugin-Codex zu steigen. Aber soweit ich weiß steht an dieser Stelle “nur” ein eindeutiger Identifier, wenn es sich um ein Submenü eines selbst erstellten Menüs handelt.

    Deshalb steht dort auch kein Dateiname, sondern z.B. “bloggerei”.

     
     
  4.  
     

    4 Ein Kommentar von Peter am 18 Aug, 2009

    Ist ein sehr interessantes und hilfreiches Thema.

    Danke.

     
     
  5.  
     

    5 Ein Kommentar von Oli am 18 Aug, 2009

    Wirklich sehr schöner und gut verständlicher Artikel zu einem Thema von dem ich dachte, dass ich es nie anpacken werde. Der Artikel hat mich jetzt aber motiviert. Deshalb werde ich mal bisschen probieren und mich belesen.

    Danke!

     
     
  6.  
     

    6 Ein Kommentar von Benni am 18 Aug, 2009

    @Peer:
    Dann sollte das im Text angepasst werden.

     
     
  7.  
     

    7 Ein Kommentar von Andi am 18 Aug, 2009

    Sehr interessantes Thema, leider fehlt mir das nötige Wissen um ein WordPress Plugin zu installieren! Vielleicht werde ich das in Zukunft auch mal hinkriegen..

     
     
  8.  
     

    8 Ein Kommentar von Andi am 18 Aug, 2009

    Edit:

    Mir fehlt nicht das nötige Wissen um ein WordPress Plugin zu installieren, sondern um eines zu Programmieren! ;o)

     
     
  9.  
     

    9 Ein Kommentar von shibumi am 21 Aug, 2009

    das ist für mich die königsklasse, ich bin froh, dass ich meinen blog überhaupt zum laufen gebracht habe. davon lasse ich lieber die finger.

     
     
  10.  
     

    10 Ein Kommentar von Eatofid am 23 Aug, 2009

    Hammer Artikel wieder einmal. Glaube, besser geht das gar nicht.

    Ich denke dennoch, dass man keine Plugins benötigt und dass zu viele Plugins für einen Blog sogar von Nachteil sind. Mehr Code, also ist man in punkto SEO benachteiligter.

    Mehr Sicherheitslücken udgl.

    Man verbringt soviel Zeit mit all diesen Plugins, um ja alles richtig zu machen, dass man irgendwann keinen Bock mehr hat und den Sinn aus den Augen verliert. Nämlich das schreiben an sich. :-)

    Das verrät mir halt meine Schläue. Kann natürlich auch falsch liegen. Ja gut, wenn wir alle unterschiedliche Ansichten haben. :)

     
     
  11.  
     

    11 Ein Kommentar von Steini am 21 Okt, 2010

    Noch heute ein super artikel. Aber nicht ganz richtig. Zumindest kann man es falsch verstehen.

    function profileAddMenu() {
    //erstellt die Gruppe “Name”
    add_menu_page(‘Titel’, ‘Name’, 10, __FILE__, ‘cs_konfigurator_option_page’);

    //erstellt eine Optionsseite in der Gruppe “Name”
    add_submenu_page(Optionsgruppenname, ‘Browsertitel’, ‘Angezeigter Name’, 10, ‘$sitename=SEITENNAME’, ‘Funktion’);

    //erstellt eine NICHT-angezeigt Seite als Unterseite der oberen unterseite. Wenn man als Elternteil schon eine Unterseite angibt, so wird diese Seite eine weitere Unterseite der Unterseite. Also eine Unterseite der 2. Ebene. Diese kann man dann mit admin.php?page=$seitenname_dieser_unterseite aufrufen.

    add_submenu_page(‘$sitename’, ‘$seitenname_dieser_unterseite’, ‘es’, 10, ‘test’, ‘funktionstest’);

    }

    add_action(‘admin_menu’, ‘profileAddMenu’);

    PS: meine Variablen durch feste Werte ersetzen.

     
     
  12.  
     

    12 Ein Kommentar von Steini am 22 Okt, 2010

    Hier noch eine etwas bessere erklärung
    http://image-upload.de/image/3IRziP/2d22c7ea29.gif

     
     
  1. 2 Trackbacks
  2. Aug 18, 2009: Plugins erstellen für den Wordpress Admin Bereich
  3. Aug 7, 2010: wp-popular.com » Blog Archive » Admin Backend eigenen Menüpunkt einfügen

Einen Kommentar schreiben:

(Keywords als Name werden auf NoFollow gesetzt!)

(Spam-Links werden gelöscht!)





Kommentare zu diesem Artikel per RSS Feed verfolgen