Sie durchsuchen: Wordpress-Funktionen


In WordPress gibt es die Möglichkeit einem Post oder einer Seite Spezialfälder (benutzerspezifische Felder) anzufügen. Diese Felder ermöglichen so eine gesonderte Datenbankabfrage. So ist es z.B. möglich Seiten in eine Header und Footer-Kategorie einzuordnen.

In der PHP Datei kann dieses Feld anschließend abgefragt werden. Während eines Loops ist dies über die Funktion

get_post_meta

möglich. Ein Beispiel, welches sich auf ein benutzerspezifisches Feld mit dem Namen test bezieht sieht wie folgt aus:

$var = get_post_meta($post->ID, ‘test’, true);

In die Variable $var wird während des Loops der Wert aus dem Feld test gespeichert.

Sollte eine Splittung in Header- und Footer-Menü realisiert werden, so wäre dies über folgenden Code möglich:

$options = $wpdb->get_results(“SELECT post_id FROM $wpdb->postmeta WHERE meta_key = ‘Footer’ AND meta_value = ’1′” );

Alle Posts oder Seiten die das Feld Footer mit dem Wert 1 besitzen werden in die Variable $options gespeichert.

Die IDs können über eine Schliefe für eine Weiterverarbeitung in der Funktion wp_list_pages wie folgt bearbeitet werden:

foreach ( (array) $options as $option ) {

$footer .= $option->post_id.’,';

}

if (isset ($footer)) {

$footer  = substr($footer, 0, -1);

}

// Header

wp_list_pages(‘title_li=&depth=1&exclude=’.$footer.’&echo=1′);

// Footer

wp_list_pages(‘title_li=&depth=1&include=’.$footer.’&echo=1′);

Das Archiv von WordPress listet die Artikel nach dem Erscheinungsdatum. Standardmäßig werden die Artikel in Monate eingeteilt. Es gibt zwei übliche Möglichkeiten das Archiv darzustellen:

  1. In der Sidebar
  2. Auf einer eigenen Seite

Die Darstellung in der Sidebar hat zwei markante Nachteile. Ein großes Archiv setzt zugleich viele Links, dies ist jedoch vielleicht unerwünscht (Google wertet Seiten mit mehr als 100 Links ab). Der Zweite Punkt ist, das Archiv braucht viel Platz, der Nutzer braucht es zudem eher seltener (wenn ich von mir ausgehe).

Trotzdem möchte ich erklären, wie man ein Archiv in der Sidebar (Seitenleiste) erstellt:

Archiv in der Seitenleiste:

Das Archiv wird mit der Funktion

<?php wp_get_archives ($parameter); ?>

automatisch erstellt. Über die Variable Parameter können verschiedene Einstellungen getroffen werden:

  • type: Es wird eingestellt, wie die Artikel geordnet werden sollen:
    • yearly – Nach Jahren ordnen
    • monthly – Nach Monaten ordnen (Standardeinstellung)
    • weekly – Nach Wochen geordnet
    • daily – Nach Tagen geordnet
    • postbypost – Ordnung nach dem Datum
    • alpha – Ordnung nach dem ABO
  • limit: Begrenzung, wie viele Gruppen erstellt werden sollen
  • format: Wie das Archiv dargestellt werden soll
    • html: Die Darstellung erfolgt in einer Kategorie mit dem <li>-Tag
    • link: Darstellung mit dem <link>-Tag
    • option: In einem DropDownMenü.
    • custom: Es werden die Parameterafter und before verwendet
  • after: HTML-Code der nach jeder Gruppe angezeigt wird
  • before: HTML-Code der vor jeder Gruppe angezeigt wird
  • show_post_count: Mit dem Wert 1 steht hinter jeder Gruppe in Klammern die Anzahl der Artikel, mit 0 wird diese entfernt. 1 ist die Standardeinstellung
  • echo: Mit dem Wert 1 wird es das Archiv ausgegeben, bei dem Wert 0 wird es für die PHP Nutzung intern verwendet

Beispiel-Code für ein Archiv in der Sidebar:

Das folgende Archiv gibt die letzten 10 Monaten aus, in denen es auf dem Blog eine Aktivität gegeben hat. Die Anzahl der Beiträge wird nicht angezeigt.

<?php wp_get_archives (‘limit=10&show_post_count=0′); ?>

Der Zusatz type=monthly muss nicht hinzugeschrieben werden, da dies die Standardeinstellung ist und so ausgegeben wird.

Archiv auf einer eigenen Seite

Die neueren WordPress Versionen haben eine eigene Funktion für diese Darstellung. Sie erstellen über Seiten -> Neu erstellen eine neue Seite. In der rechten Navigationsbox Eigenschaften gibt es die Möglichkeit eine Menü Vorlage zu wählen. Hier gibt es den Punkt Archives, welcher auf der Seite automatisch ein Archiv einbindet. Das Archiv beinhaltet:

  • Die letzten 20 Artikel
  • Das Archiv, geordnet nach Monaten
  • Die Kategorien

Wenn Sie lieber eine ähnliche Darstellung wie in der Sidebar bevorzugen müssen Sie dies über einen kleinen Trick ausgeben lassen. Dies ist ebenfalls für ältere Versionen nötig, die diese spezielle Seiteneigenschaften noch nicht ausgeben können:

Öffnen Sie die Datei page.php aus Ihrem Themes Ordner. Dies ist z.B. mit dem Texteditor von Microsoft möglich. Suchen Sie die Stelle, an welcher der Inhalt Ihres Blogs ausgeben wird. Dies geschieht über die Funktion

the_content(”);

Nach dieser Stelle soll das individuelle Archiv ausgegeben werden. Fügen Sie hierfür die folgenden Zeilen nach der Inhalts-Funktion ein:

if ($post->post_name == ‘archiv’) wp_get_archives();

Die neue Stelle sollte dann ungefähr so aussehen:

<?php
the_content(”);
if ($post->post_name == ‘archiv’) wp_get_archives();
?>

Erstellen Sie nun eine Seite mit dem Namen Archiv (Sie können natürlich auch einen anderen Namen wählen, müssen diesen dann allerdings im obigen PHP Code anpassen).
Beim Aufrufen der Seite Archiv führt nun WordPress die Funktion wp_get_archives aus, welche das Archiv Ihres Blogs ausgibt. Sie können natürlich auch hier die Ausgabe über die Parameter (erklärt in dem Abschnitt Archiv in der Seitenleiste) einstellen.

20Dezember

Permalink ausgeben

Es kann sehr nützlich sein, wenn Sie die Permalinks von den einzelnen Beiträgen in einem Textfeld unter dem Post ausgeben lassen. Der Vorteil liegt darin, dass Ihr Post auf anderen Seiten immer mit dem gleichen Keyword verlinkt wird. In diesem Fall ist das Keyword mit dem Post-Name gleich. So kann es sein, dass der Beitrag bei Suchmaschinen besser gelistet wird.

<textarea cols=”50″ rows=”2″>
&lt;a href=”<?php the_permalink() ?>” title=”<?php the_title(); ?>”&gt;<?php the_title(); ?>&lt;/a&gt;
</textarea>

Dieser Code bewirkt, dass ein Textfeld erzeugt wird, und in diesem der zu dem Post gehörende Link (mit Keyword). Der Code wird unter der Ausgabe des Textes Eingebunden. In meinem Fall ist das:

  1. single.php öffnen
  2. Nach dem Befehl <?php the_content(‘); ?>

Es kann sein, dass bei Ihnen der Text in der index.php ausgegeben wird.

Die Kategorie ist in Form eines Tree-Menüs aufgebaut. Das bedeutet, dass Sie einzelne Menüpunkte anderen Punkten unterordnen können. Über diese Kategorie können Sie nur die Artikel ansprechen.

Die Kategorie bei WordPress

wp_list_categories();

Mit verschiedenen Parametern können Sie die Art der Ausgabe bestimmen:

  • show_option_all – Dieser Wert wird ausgegeben. Je nach Template wird so ein Link zu allen Kategorien gesetzt. Bei mir wurde ein Link zur Startseite gesetzt.
  • orderby – Bestimmt, nach welchem Muster die Kategorien geordnet werden:
    • ID – Ordnet nach der ID der Kategorien
    • name – Ordnet nach dem Namen der Kategorie
    • slug – Ordnet nach dem Permalink
    • count – Ordnet nach der Anzahl an Einträgen
  • order – Bestimmt die Reihenfolge nach der Sortiert wird:
    • ASC – Sortiert aufsteigend
    • DESC – Sortiert absteigend
  • show_count – Ist dieser Wert auf 1 gesetzt, so werden die Posts gezählt und in einer Klammer ausgegeben.
  • child_of -Dieser Parameter kann mit einer ID von einer Kategorie definiert werden, danach werden alle Kategorien ausgegeben, die dieser untergeordnet sind.
  • hide_empty – Ist dieser Wert auf 0 gesetzt, so werden die leeren Kategorien auch angezeigt. Sonst nicht.
  • feed – Mit dem Wert des Parameters wird für diese Kategorie ein eigener Feed erstellt.
  • feed_image – Dieser Parameter kann mit einer Bild-URL definiert werden. Das Bild wird dann für den Feed verwendet.
  • exclude – Mit einem Komma getrennt können Sie die einzelnen IDs der Kategorien angeben, die nicht angezeigt werden sollen.
  • include – Es werden nur die Kategorien eingebunden, deren ID bei diesem Parameter definiert werden. Die Kategorie-IDs werden über ein Komma getrennt. Sollten Sie diesen Parameter nicht angeben, so werden alle Kategorien angezeigt.
  • hierarchical – Mit Angabe diesem Parameter und dem Wert 0 werden die Child-Kategorien nicht in einer separaten Liste unterordnet.
  • title_li – Dieser Parameter wird in der Regel ohne wert angegeben. So werden die Kategorien wie ein Tree-Menü gelistet. Sollte dieser Parameter definiert werden, so wird der Wert als Titel verwendet.
  • number – Die Zahl mit der dieser Parameter definiert wird gibt an, wie viele Kategorien ausgegeben werden (Limit-Funktion).
  • echo – Wird dieser Parameter angegeben und auf 0 gesetzt, so werden die Kategorien nicht ausgegeben sondern für PHP in einer Variablen ausgegeben.
  • depth – Gibt an, wie viele Unterebenen (Level) angezeigt werden. Sollte dieser Parameter nicht angegeben werden, so werden alle ausgegeben.
    • -1 – Alle werden als erste Ebene ausgegeben
    • 0 – Alle Ebenen werden ausgegeben
    • 1 – Nur die erste Ebene wird ausgegeben
    • n – Bis zur n-ten Ebene wird alles ausgegeben

Kategorie Beispiel (WordPress)

<?php wp_list_categories(‘sort_column=name&title_li=’); ?>

Die Kategorien werden nach dem Namen sortiert. Die Child-Kategorien werden in einer eigenen Liste aufgeführt, die Übergeordnete hat allerdings keinen Titel. Die Parameter und ihre Werte werden mit einem & von einander getrennt.

 

18Juni

Tag Cloud

Ein Tag ist ein Schlagwort, das in einem Artikel, Bild oder Video vorkommt, dargestellt oder in Zusammenhang gebracht werden kann. Würden Sie z.B. ein Bild von Frankfurt sehen, so wäre der Tag Deutschland auch richtig. Der Tag Berlin wäre falsch. Berlin ist zwar die Hauptstadt hat aber über das Foto nichts mit Frankfurt zu tun.

Cloud ist das englische Wort für Wolke. Somit ist eine Tag Cloud eine Schlagwortwolke, eine Ansammlung verschiedener Schlagwörter. In der Regel wird die Anzahl begrenzt und nur die häufigsten angezeigt. Je häufiger ein Schlagwort in einem System (hier wäre es ein Blog) vorkommt, desto größer wird das Wort dargestellt.

Diese Schlagwörter dienen zur Suche. Nach einem Klick auf ein Wort werden alle Inhalte zu angezeigt, die dieses Schlagwort beinhalten. Die Suche wird somit vereinfacht, da auch Beiträge angezeigt werden, die mit einem Thema etwas zu tun haben, dieses aber nicht unbedingt im Text erscheint. In meiner Sidebar finden Sie ebenfalls eine Schlagwortwolke, direkt unter den Kategorien.

Einbau einer Tag Cloud

Neue WordPress-Versionen

Die neue WordPress Version ermöglicht es Ihnen die Schlagwortwolke / Tag Cloud über den Admin Bereich einzufügen. Gehen Sie hierfür auf Darstellung -> Widgets. In dem Kasten verfügbare Widgets sollte nun unter anderem auch das Widget Schlagwortwolke zu finden sein. Ziehen Sie es einfach in die Sidebar.

Sollten Sie ein Design verwenden, das Widgets nicht unterstützt, müssen Sie gleich vorgehen wie im nächsten Abschnitt.

Alte WordPress-Versionen

Gehen Sie vor, wie ich es in diesem Artikel erklärt habe. Der WordPress-Befehl für die Tag Cloud lautet:

wp_tag_cloud(‘smallest=8&largest=16′);

Sie können die Wolke über bestimmte Parameter einstellen. In diesem Beispiel wäre die Schriftgröße von 8 – 16 px eingestellt. Zuerst wird immer ein Parameter angegeben und dieser wird dann mit einem = definiert. Um einen zweiten Parameter vom Wert des erstens zu trennen wird zwischen den Einzelnen Zuweisungen immer ein & geschrieben. Es gibt folgende Parameter:

  • smallest – Die kleinste Schriftgröße
  • largest – Die größte Schriftgröße
  • unit – Einheit für die Schriftgröße. Möglich wären: pt, px, em
  • number – Die Zahl gibt an, wie viele Tags gezeigt werden sollen. 0 gibt alle aus.
  • format – Dieser Wert gibt an, wie Sie die Tags ausgeben wollen:
    • flat – Listet die Tags hintereinander auf
    • list – Gibt die Werte in einer Liste (ul) wieder
    • array – Gibt die Wolke als Array wieder (Nur für PHP zu verwenden, Seit Version 2.5)
  • orderby – Nach welchem Schema Sie die Tags ordnen lassen wollen:
    • name – Nach Name sortieren
    • count – Nach Häufigkeit sortieren
  • order – Gibt die Reihenfolge der Ordnung an:
    • ASC – Aufsteigend
    • DESC – Absteigend
    • Rand – Gemsicht
  • exclude – Mit diesem Wert können Sie Tags ausschließen. Dies geschieht über die term_id. Die Werte werden über ein Komma getrennt. Beispiel: exclude=3,9, die Tags mit der term_id 3 und 9 werden nicht angezeigt.
  • include – Gibt an, welche Tags nur angezeigt werden sollen. Beispiel: include=3,9, die Tags mit der term_id 3 und 9 werden angezeigt. Sollten Sie diesen Parameter nicht einfügen wird nach den anderen Kriterien vorgegangen.