WordPress: benutzerdefinierte Felder außerhalb LoopssteemCreated with Sketch.


Benutzerdefinierte Felder gehören zum Funktionsumfang von WordPress, wenn ich es richtig in Erinnerung habe, seit mehr als zehn Jahren. Auf jeden Fall waren Sie für mich immer dabei. :-)

Sie stellen eine sehr interessante Funktion dar, die in meinen Augen viel zu wenig beachtet wird. Ich hoffe, dass ich sie mit diesem Artikel noch ein bisschen mehr ins Rampenlicht bringen kann.

Mit benutzerdefinierten Feldern kann man nämlich zusätzliche Informationen zum eigentlichen Inhalt darstellen.

WordPress: benutzerdefiniertes Feld

Im Admin-Bereich findet man die Eingabemaske für benutzerdefinierte Felder unterhalb der Textbox wo man den Inhalt für Beiträge und Seiten eingibt. Ist diese Eingabemaske nicht sichtbar, dann muss man sie gegebenenfalls rechts oben unter "Optionen" sichtbar machen.

Im Theme, ich lasse mal jetzt die diversen Plugins außen vor, macht man die benutzerdefinierte Felder sichtbar mit dem folgendem Code:

<?php the_meta(); ?>

So weit, so gut. Leider funktioniert das ganze nur innerhalb des Loops oder besser gesagt im Inhaltsbereich, also nicht zum Beispiel im Footer, in der Kopfzeile oder in der Sidebar. Möchte man den Inhalt der benutzerdefinierten Felder auch außerhalb des Loops, dann muss man sich mit dem folgenden Code behelfen:

<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'Zusatztitel', true);
wp_reset_query();
?>

Wen es nicht stört, dass bei Beiträgen und Seiten ohne Inhalte aus den benutzerdefinierten Feldern nichts erscheint, der kann diesen Code-Schnipsel nutzen. Wer aber nicht bei jedem Beitrag oder Seite benutzerdefinierte Felder einsetzt, aber an der entsprechenden Stelle doch einen Text haben möchte, der baut eine zusätzliche "Abfrage" in Form von einem if-else-Statement auf:

<?php
global $wp_query; $postid = $wp_query->post->ID;
if (get_post_meta($postid, 'Zusatztitel', true)) {
    echo get_post_meta($postid, 'Zusatztitel', true);
    } else {
        echo "Ersatztext";
        }
wp_reset_query();
?>

Was macht das Code-Fragment? Ist ein bestimmtes benutzerdefiniertes Feld samt Inhalt vorhanden, dann wird dieses ausgegeben. Falls nicht, dann wird der Ersatztext eingeblendet.


Aus meinem Weblog via SteemPress publiziert.

Sort:  

Hi
I found that this is a really good post, So I give you one upvote!
Please upvote for me if you can

Hi @vladimir-simovic!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.080 which ranks you at #3357 across all Steem accounts.
Your rank has improved 3 places in the last three days (old rank 3360).

In our last Algorithmic Curation Round, consisting of 233 contributions, your post is ranked at #205.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.034
BTC 66095.77
ETH 3184.92
USDT 1.00
SBD 4.12