Wordpress und die Macht der benutzerdefinierten Felder

Wer seine Webseite mit WordPress betreibt, kann in der Regel aus technischer Sicht schon mit wenigen Handgriffen seine Seite weitgehend für Suchmaschinen optimierten.

Heute möchte ich mal etwas über die "Benutzerdefinierten Felder" und deren Möglichkeiten für die Optimierung der Seite schreiben, die sich unter dem Editor im WordPress-Backend befinden. Meiner Meinung nach ist das ein sehr mächtiges Zusatzwerkzeug, welches allerdings in der breiten Masse kaum Beachtung findet.

Die Eingaben dieser Felder werden in der Datenbank als Meta-Daten für den Blogeintrag gespeichert und lassen sich anschließend im Template ganz einfach wieder aufrufen.

In diesem Block "Benutzerdefinierte Felder" gibt es für jeden Eintrag zwei Felder: Name und Wert. Den Namen kann man dabei frei vergeben. Bereits vorhandene Namen werden dabei als Dropdown zur Auswahl zur Verfügung gestellt.

Optimieren wir also nun zum Beispiel mal den Titel, die Überschrift und den Footer.

Als Beispiel soll dieser Blogpost dienen. Er hat im Backend den Titel "WordPress und die benutzerdefinierten Felder". Normalerweise ist das also auch der Titel, die Überschrift und die URL (je nach gewählter Permalinkstruktur).

1.) Titel

Zuerst legen wir einen neuen Namen in den Benutzerdefinierten Feldern an, sofern noch nicht vorhanden, z. B.

seitentitel

Als zugehörigen Wert tragen wir z. B. ein "WordPress – Die Macht der benutzerdefinierten Felder". Wir wollen also diesen Titel im <title>-Tag stehen haben. Anschließend noch auf den Button "Benutzerdefiniertes Feld hinzufügen" klicken nicht vergessen.

Jetzt gehts daran, das Template zu ändern. Wir rufen die Datei header.php des aktuellen Templates auf. Als Beispiel nehme ich hier mal die header.php-Datei des Standard-Templates Kubrick. Zu finden ist die Datei unter wp-content/themes/templatename/header.php.

Im Normalfall findet man dort folgenden Code:

<title><?php bloginfo('name');
if ( is_single() ) {
_e('&raquo; Blog Archive', 'kubrick');
}
wp_title(); ?></title>

Wir ersetzen den Code folgendermaßen:

<title><?php
$custom_title = get_post_meta( $posts[0]->ID, 'seitentitel', true);
if ( $custom_title )
{
echo $custom_title;
} else
{
wp_title('');
if(wp_title('', false)) { ?> - <?php } ?><?php bloginfo('name');
}
?></title>

In der ersten Zeile holen wir also den Wert aus der Datenbank. Wenn dieser für den aktuellen Eintrag gesetzt wurde, wird er ausgegeben. Ansonsten wird der "normale" Titel ausgegeben (wurde im Vergleich zum Standard-Template auch noch ein wenig geändert, das ist aber dann unabhängig von den benutzerdefinierten Feldern möglich.

2.) Die Überschrift

Hier verfahren wir analog zum Titel. Einfach neues benutzerdefiniertes Feld anlegen (oder eben aus dem Dropdown später auswählen). Wir können es z. B. so nennen:

ueberschrift

Entsprechenden Wert vergeben, hier also z. B. "WordPress und die Macht der benutzerdefinierten Felder". Wieder den Button "Benutzerdefiniertes Feld hinzufügen" klicken, damit es auch richtig eingetragen wird.

Im Template öffenen wir dann die Datei single.php (bei Bedarf kann man das folgende auch noch auf die Dateien page.php anwenden, wer will kanns auch noch auf archive.php und search.php anwenden).

Dort suchen wir dann die Zeile

<h2><?php the_title(); ?></h2>

und ersetzen sie mit

<h2><?php
$ueberschrift = get_post_meta( get_the_ID(), 'ueberschrift', true);
if ( $ueberschrift )
{
echo ' ' . $ueberschrift ;
} else {
echo the_title();
}
?></h2>

Auch hier wird wieder der Wert geholt und wenn vorhanden, auch ausgegeben.

3.) Der Footer

Wer möchte, kann auch noch im Footer einen kleinen individuellen Text pro Eintrag/Seite ausgeben lassen.

Erneut legen wir ein benutzerdefiniertes Feld an, z. B.

footer

und tragen hier als Beispielwert ein "WordPress hat die Macht – es gibt ja schließlich benutzerdefinierte Felder".

Erneut ändern wir das Template, diesmal die Datei footer.php. Dort tragen wir in einen PHP-Block an belieber Stelle (optimalerweise dort, wo es auch optisch gut passt) folgendes ein:

$footer = get_post_meta( $posts[0]->ID, 'footer', true);
if ( $footer )
{
echo $footer;
}

Zugegeben, die Beispiele sind nicht besonders kreativ. Sie sollen auch nur wirklich als Beispiel dienen und die Möglichkeiten zeigen, die man bei Bedarf ausschöpfen könnte ;)

Nicht jeder wird wohl diese Zusatzmaßnahmen benötigen. Wer sie nicht braucht, kann getrost drauf verzichten. Wer seine Seiten noch etwas tunen will, kann es ja mal ausprobieren.

Bei den Rebellen gibt es auch noch einen weiteren Trick für den Einsatz dieser benutzerdefinierten Felder.

Viel Spaß damit ;)

Ähnliches:

5 Kommentare

  1. Posted 18. Juni 2010 at 11:33 | Permalink

    Guter Hinweis, die benutzerdefinierten Felder sind sehr mächtig. Einfacher geht es meiner Erfahrung nach aber mit einem Plugin wie etwa “All in one SEO” oder “Platinu SEO Pack” wenn man automatisiert Titles etc. optimieren möchte. Die noch bessere persönliche “Fleißarbeit” kann dies natürlich aber nicht ersetzen.

  2. Posted 1. Oktober 2010 at 12:14 | Permalink

    Auch eine gute Idee ist es, Themen-Menüs in der Sidebar mit benutzerdefinierten Feldern zu realisieren.

  3. Posted 2. November 2010 at 02:02 | Permalink

    Es ist ein gute Beitrag ich habe es mal ausprobiert mal sehen wie das aussieht.

  4. Niederrhein Foto
    Posted 20. August 2011 at 12:09 | Permalink

    Vielen Dank für diesen Beitrag! Hier gefunden und direkt umgesetzt. Wirklich Klasse. Beste Grüsse

  5. Niederrhein Foto
    Posted 20. August 2011 at 12:11 | Permalink

    Vielen Dank. Super Tip.. Hier gefunden und direkt eingebaut. Beste Grüsse

Schreib nen Kommentar

Pflichtfelder sind mit * gekenntzeichnet

*
* (Deine Emailadresse wird nie veröffentlicht oder weitergegeben)