Vertrauenswürdige WordPress-Tutorials, wenn Sie sie am dringendsten benötigen.
Anfängerleitfaden für WordPress
WPB Cup
25 Millionen+
Websites, die unsere Plugins verwenden
16+
Jahre WordPress-Erfahrung
3000+
WordPress-Tutorials von Experten

WordPress Custom Fields 101: Tipps, Tricks und Hacks

Im Laufe der Jahre haben wir viele Fragen zu benutzerdefinierten Feldern erhalten und wie Benutzer sie auf ihrer WordPress-Website optimal nutzen können.

Benutzerdefinierte Felder sind eine praktische WordPress-Funktion, mit der Sie Ihren Beiträgen und Seiten zusätzliche Daten und Informationen hinzufügen können. Viele beliebte WordPress-Plugins und -Themes verwenden benutzerdefinierte Felder, um wichtige Daten zu speichern.

Wir haben Erfahrung mit benutzerdefinierten Feldern in WordPress. In diesem Artikel zeigen wir Ihnen, wie Sie benutzerdefinierte Felder in WordPress mit einigen Tipps, Tricks und Hacks verwenden.

WordPress benutzerdefinierte Felder 101 Tipps Tricks und Hacks

Da dies ein langer Artikel ist, haben wir ein Inhaltsverzeichnis für eine einfachere Navigation hinzugefügt. Verwenden Sie einfach die Schnelllinks unten, um zu dem Abschnitt zu springen, den Sie lesen möchten:

Was sind benutzerdefinierte Felder in WordPress?

Benutzerdefinierte WordPress-Felder sind Metadaten, die verwendet werden, um zusätzliche Informationen zu dem Beitrag oder der Seite hinzuzufügen, die Sie bearbeiten.

Standardmäßig speichert WordPress, wenn Sie einen neuen Beitrag, eine Seite oder einen anderen Inhaltstyp schreiben, diesen Inhalt in zwei verschiedenen Teilen.

Der erste Teil ist der Inhalt Ihres Beitrags, den Sie mit dem WordPress-Inhaltseditors hinzufügen.

Der zweite Teil sind die Informationen über diesen Inhalt. Zum Beispiel der Titel, der Autor, das Datum, die Uhrzeit und mehr. Diese Informationen werden als Metadaten bezeichnet.

Eine WordPress-Website fügt automatisch alle erforderlichen Metadaten zu jedem von Ihnen erstellten Beitrag oder jeder Seite hinzu. Sie können auch Ihre eigenen Metadaten erstellen und speichern, indem Sie benutzerdefinierte Felder verwenden.

Standardmäßig ist die Option für benutzerdefinierte Felder auf dem Beitragsbearbeitungsbildschirm ausgeblendet. Um sie anzuzeigen, müssen Sie in der oberen rechten Ecke des Bildschirms auf das Drei-Punkte-Menü klicken und im Menü „Einstellungen“ auswählen.

Präferenzen im Inhaltseditor öffnen

Dies öffnet ein Popup, in dem Sie zum Tab „Panels“ wechseln und dann die Option „Benutzerdefinierte Felder“ aktivieren müssen.

Danach klicken Sie einfach auf die Schaltfläche „Aktivieren & Neuladen“, um den Beitragseditor neu zu laden.

Option für benutzerdefinierte Felder aktivieren

Der Beitragseditor wird neu geladen, und Sie können das Bedienfeld für benutzerdefinierte Felder unter dem Inhaltseditor sehen.

Benutzerdefinierte Felder können verwendet werden, um beliebige Informationen hinzuzufügen, die sich auf den Beitrag, die Seite oder einen anderen Inhaltstyp beziehen. Diese Metainformationen können dann in Ihrem Theme angezeigt werden.

Benutzerdefinierte Felder in WordPress anzeigen

Um dies zu tun, müssen Sie jedoch Ihre WordPress-Theme-Dateien bearbeiten.

Hinweis: Dieses Tutorial wird Benutzern empfohlen, die bereits mit der Bearbeitung von Theme-Dateien vertraut sind. Es ist auch hilfreich für angehende WordPress-Entwickler, die lernen möchten, wie sie benutzerdefinierte Felder in ihren eigenen Themes oder Plugins richtig verwenden.

Nichtsdestotrotz wollen wir uns nun ansehen, wie man benutzerdefinierte Felder in WordPress hinzufügt und verwendet.

Benutzerdefinierte Felder in WordPress hinzufügen

Zuerst müssen Sie einen Beitrag oder eine Seite im Block-Editor öffnen, um benutzerdefinierte Felder hinzufügen zu können. Gehen Sie dann zur Meta-Box für benutzerdefinierte Felder.

Hinzufügen von benutzerdefinierten Feldnamen und -werten

Als Nächstes müssen Sie einen Namen für Ihr benutzerdefiniertes Feld angeben und dann seinen Wert eingeben. Klicken Sie auf die Schaltfläche 'Benutzerdefiniertes Feld hinzufügen', um es zu speichern.

Das Feld wird in der Meta-Box für benutzerdefinierte Felder gespeichert und angezeigt, wie hier:

Neu erstellte benutzerdefinierte Felder anzeigen

Sie können dieses benutzerdefinierte Feld jederzeit bearbeiten und dann auf die Schaltfläche 'Aktualisieren' klicken, um Ihre Änderungen zu speichern. Sie können es auch löschen, wenn Sie es nicht mehr verwenden möchten.

Jetzt müssen Sie Ihren Beitrag speichern, um Ihre Einstellungen für benutzerdefinierte Felder zu speichern.

Benutzerdefinierte Felder in WordPress-Themes anzeigen

Um Ihr benutzerdefiniertes Feld auf Ihrer Website anzuzeigen, müssen Sie Ihre WordPress-Theme-Dateien und Code-Schnipsel bearbeiten.

Wir empfehlen nicht, die Theme-Dateien direkt zu bearbeiten, da kleinste Fehler Ihre Website beschädigen können. Ein einfacherer Weg, dies zu tun, ist die Verwendung von WPCode.

Es ist das beste Code-Snippet-Plugin für WordPress, mit dem Sie benutzerdefinierten Code hinzufügen und Snippets von Ihrem WordPress-Dashboard aus verwalten können.

Wenn Sie dies noch nie zuvor getan haben, empfehlen wir Ihnen auch, unseren Leitfaden zu lesen: So kopieren und fügen Sie Code in WordPress ein.

Zuerst müssen Sie das kostenlose WPCode-Plugin installieren und aktivieren. Weitere Details finden Sie in unserem Anfängerleitfaden zur Installation eines WordPress-Plugins.

Nach der Aktivierung müssen Sie im WordPress-Dashboard zu Code-Snippets » + Snippet hinzufügen gehen und die Option 'Ihren benutzerdefinierten Code hinzufügen (Neues Snippet)' auswählen.

Hinzufügen eines Code-Snippets zu Ihrer WordPress-Website

Jetzt müssen Sie diesen Code kopieren, um ihn zu Ihren Theme-Dateien hinzuzufügen:

<?php echo get_post_meta($post->ID, 'key', true); ?>

Vergessen Sie nicht, key durch den Namen Ihres benutzerdefinierten Feldes zu ersetzen.

Als Nächstes müssen Sie den Code in den Bereich „Code-Vorschau“ eingeben und den Code-Typ auf „PHP-Snippet“ ändern.

Code für benutzerdefinierte Felder eingeben

Zum Beispiel haben wir diesen Code in unserem Demo-Theme verwendet:

<p>Today's Mood: <?php echo get_post_meta($post->ID, 'Mood', true); ?></p>

Von hier aus können Sie nach unten zum Abschnitt Einfügen scrollen.

Hier können Sie auswählen, wo der Code ausgeführt werden soll. Standardmäßig fügt WPCode den Code automatisch ein und führt ihn überall auf Ihrer Website aus.

Einfügemethode für Code bearbeiten

Sie können dies jedoch ändern und auswählen, wo das benutzerdefinierte Feld erscheinen soll.

Zum Beispiel wählen wir den Tab „Seiten-spezifisch“ und wählen die Option „Vor Beitrag einfügen“. Auf diese Weise erscheint das benutzerdefinierte Feld am Anfang des Blogbeitrags.

Vor dem Beitrag einfügen

Sie können Ihre Änderungen jetzt speichern und den Beitrag aufrufen, dem Sie das benutzerdefinierte Feld hinzugefügt haben, um es in Aktion zu sehen.

Sie können dieses benutzerdefinierte Feld auch in all Ihren anderen WordPress-Blogbeiträgen verwenden.

Benutzerdefiniertes Feld anzeigen

Sie können das benutzerdefinierte Feld auch einfach für verschiedene Blogbeiträge anpassen. Erstellen Sie einfach einen neuen Beitrag oder bearbeiten Sie einen vorhandenen.

Gehen Sie dann zum Meta-Feld „Benutzerdefinierte Felder“, wählen Sie Ihr benutzerdefiniertes Feld aus dem Dropdown-Menü aus und geben Sie seinen Wert ein.

Benutzerdefiniertes Feld wiederverwenden

Wenn Sie fertig sind, klicken Sie einfach auf die Schaltfläche „Benutzerdefiniertes Feld hinzufügen“, um Ihre Änderungen zu speichern und dann Ihren Beitrag zu veröffentlichen oder zu aktualisieren.

Fehlerbehebung: Benutzerdefiniertes Feld nicht im Dropdown-Menü auf dem Beitragsbearbeitungsbildschirm zu finden

Standardmäßig lädt WordPress nur 30 benutzerdefinierte Felder in das Dropdown-Menü auf dem Beitragsbearbeitungsbildschirm.

Wenn Sie WordPress-Themes und -Plugins verwenden, die bereits benutzerdefinierte Felder nutzen, werden diese möglicherweise zuerst im Dropdown-Menü angezeigt, und Sie können Ihr neu erstelltes benutzerdefiniertes Feld nicht sehen.

Um dieses Problem zu beheben, müssen Sie den folgenden Code zur functions.php-Datei Ihres Themes hinzufügen oder WPCode verwenden (empfohlen):

add_filter( 'postmeta_form_limit', 'meta_limit_increase' );
function meta_limit_increase( $limit ) {
    return 50;
}

Der obige Code ändert dieses Limit auf 50. Wenn Sie Ihr benutzerdefiniertes Feld immer noch nicht sehen können, können Sie versuchen, dieses Limit noch weiter zu erhöhen.

Erstellen einer Benutzeroberfläche für benutzerdefinierte Felder mit Advanced Custom Fields

Wie Sie sehen können, müssen Sie nach dem Hinzufügen eines benutzerdefinierten Feldes jedes Mal, wenn Sie einen Beitrag schreiben, das Feld auswählen und seinen Wert eingeben.

Wenn Sie viele benutzerdefinierte WordPress-Felder haben oder mehrere Autoren auf Ihrer Website schreiben, ist dies keine ideale Lösung.

Wäre es nicht schön, wenn Sie eine Benutzeroberfläche erstellen könnten, auf der Benutzer ein Formular ausfüllen können, um Werte zu benutzerdefinierten Feldern hinzuzufügen?

Tatsächlich ist dies genau das, was so viele beliebte WordPress-Plugins bereits tun.

Zum Beispiel ist das Feld für den SEO-Titel und die Meta-Beschreibung im beliebten Plugin All in One SEO eine benutzerdefinierte Meta-Box:

AIOSEO SEO-Titel und -Beschreibung

Der einfachste Weg, eine Benutzeroberfläche zum Hinzufügen benutzerdefinierter Felder zu erstellen, ist die Verwendung des Plugins Advanced Custom Fields.

Das erste, was Sie tun müssen, ist das Plugin Advanced Custom Fields zu installieren und zu aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung, wie man ein WordPress-Plugin installiert.

Nach der Aktivierung müssen Sie die Seite ACF » Feldgruppen aufrufen und auf die Schaltfläche „Neu hinzufügen“ klicken.

Neue Feldgruppe hinzufügen

Eine Feldgruppe ist wie ein Container mit einer Reihe von benutzerdefinierten Feldern. Sie ermöglicht es Ihnen, mehrere Bereiche mit benutzerdefinierten Feldern hinzuzufügen.

Nun müssen Sie Ihrer Feldgruppe einen Titel geben und auf die Schaltfläche „+ Feld hinzufügen“ in der oberen rechten Ecke klicken.

Neues Feld hinzufügen

Sie können jetzt einen Feldtyp auswählen.

Advanced Custom Fields ermöglicht es Ihnen, alle Arten von Feldern zu erstellen, einschließlich Text, Bild-Upload, Zahl, Dropdown, Kontrollkästchen und mehr.

Feldtyp und andere Details auswählen

Als Nächstes können Sie nach unten scrollen, um weitere Optionen für dieses spezielle Feld anzuzeigen, wie z. B. Feldname, Feldbezeichnung und Standardwert. Sie können diese nach Ihren eigenen Anforderungen ändern.

Sie können auch mehrere Felder zu Ihrer Feldgruppe hinzufügen, wenn Sie möchten. Wenn Sie fertig sind, klicken Sie einfach auf die Schaltfläche „Änderungen speichern“.

Neuen Feldgruppe anzeigen

Bearbeiten Sie als Nächstes einen Beitrag oder erstellen Sie einen neuen, und Sie sehen unter dem Inhaltseditor ein neues Feld mit Ihren benutzerdefinierten WordPress-Feldern.

Detaillierte Schritt-für-Schritt-Anleitungen finden Sie in unserem Leitfaden, wie Sie benutzerdefinierte Meta-Boxen in WordPress-Beiträge und -Beitragstypen hinzufügen.

Leere benutzerdefinierte Felder mit bedingten Anweisungen ausblenden

Bisher haben wir behandelt, wie man ein benutzerdefiniertes Feld erstellt und es in Ihrem Theme anzeigt.

Sehen wir uns nun an, wie wir überprüfen können, ob das benutzerdefinierte Feld nicht leer ist, bevor wir es anzeigen. Dazu ändern wir unseren Code, um zuerst zu prüfen, ob das Feld Daten enthält:

<?php 

$mood = get_post_meta($post->ID, 'Mood', true);

if ($mood) { ?>

<p>Today's Mood: <? echo $mood; ?></p>

<?php 

} else {
// do nothing;
}

?>

Vergessen Sie nicht, Mood durch Ihren eigenen Namen für das benutzerdefinierte Feld zu ersetzen.

Mehrere Werte zu einem benutzerdefinierten Feld hinzufügen

Benutzerdefinierte Felder können im selben Beitrag wiederverwendet werden, um mehrere Werte hinzuzufügen. Sie müssen nur das Feld erneut auswählen und einen weiteren Wert in das Feld 'Wert' eingeben.

Mehrere Werte zu einem benutzerdefinierten Feld hinzufügen

Der obige Code kann jedoch nur einen einzelnen Wert anzeigen.

Um alle Werte eines benutzerdefinierten Feldes anzuzeigen, müssen wir den Code ändern und ihn so gestalten, dass er die Daten als Array zurückgibt. Sie müssen den folgenden Code zu Ihrer Theme-Datei hinzufügen:

<?php 
$mood = get_post_meta($post->ID, 'Mood', false);
if( count( $mood ) != 0 ) { ?>
<p>Today's Mood:</p>
<ul>
<?php foreach($mood as $mood) {
            echo '<li>'.$mood.'</li>';
            }
            ?>
</ul>
<?php 
} else { 
// do nothing; 
}
?>

Vergessen Sie wieder nicht, Mood durch Ihren eigenen benutzerdefinierten Feldnamen zu ersetzen.

In diesem Beispiel werden Sie feststellen, dass wir den letzten Parameter der Funktion get_post_meta auf false geändert haben. Dieser Parameter bestimmt, ob die Funktion einen einzelnen Wert zurückgeben soll oder nicht. Wenn er auf false gesetzt wird, kann sie die Daten als Array zurückgeben, das wir dann in einer foreach-Schleife anzeigen.

Beiträge nach benutzerdefiniertem Feld in WordPress durchsuchen

Die Standard-Suche von WordPress funktioniert nicht mit benutzerdefinierten Feldern auf Ihrer Website. Sie verwendet nur den Inhalt, um den Beitrag zu finden, den Sie oder Ihre Besucher auf Ihrer Website suchen.

Jedoch ändert SearchWP dies, indem es Ihre WordPress-Suche verbessert. Es ist das beste WordPress-Such-Plugin, das über den Beitragstext hinausgeht und alles indiziert, einschließlich benutzerdefinierter WordPress-Felder, PDF-Dokumente, benutzerdefinierter Tabellen, Text, Dateien und mehr.

Sie können den Suchalgorithmus anpassen, ohne Code zu bearbeiten, indem Sie SearchWP verwenden. Installieren Sie einfach das Plugin und gehen Sie dann in Ihrem WordPress-Adminbereich zu SearchWP » Algorithmus.

Danach müssen Sie zum Tab „Engines“ gehen und dann den Schieberegler für die Attributrelevanz anpassen. Dies ändert die Bedeutung, die jedem Attribut bei einer Suche beigemessen wird.

Suchrelevanz anpassen

Sie können beispielsweise den Schieberegler für benutzerdefinierte Felder auf Maximum stellen und die Schieberegler für andere Attribute entsprechend anpassen. Auf diese Weise wird SearchWP Daten in benutzerdefinierten Feldern bei der Suche nach Inhalten in WordPress bevorzugen.

Ein weiterer Vorteil der Verwendung von SearchWP ist, dass es mit einigen der beliebtesten Plugins für benutzerdefinierte Felder funktioniert, darunter Advanced Custom Fields (ACF), Meta Box und Pods.

Weitere Details finden Sie in unserem anfängerfreundlichen Leitfaden zur Verbesserung der WordPress-Suche mit SearchWP.

Beiträge mit einem bestimmten benutzerdefinierten Schlüssel anzeigen

WordPress ermöglicht es Ihnen, Beiträge mit benutzerdefinierten Schlüsseln und deren Werten anzuzeigen. Wenn Sie beispielsweise versuchen, eine benutzerdefinierte Archivseite zu erstellen, um alle Beiträge mit bestimmten benutzerdefinierten Schlüsseln anzuzeigen, können Sie die Klasse WP_Query verwenden, um Beiträge abzurufen, die diesen Feldern entsprechen.

Sie können den folgenden Code als Ausgangspunkt verwenden:

$args = array(
    'meta_key'   => 'Mood',
    'meta_value' => 'Happy'
);
$the_query = new WP_Query( $args );
 
<?php 
// the query
$the_query = new WP_Query( $args ); ?>
 
<?php if ( $the_query->have_posts() ) : ?>
 
    <!-- the loop -->
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
 
    <?php endwhile; ?>
    <!-- end of the loop -->
 
    <!-- pagination here -->
 
    <?php wp_reset_postdata(); ?>
 
<?php else : ?>
    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

Vergessen Sie nicht, die Parameter meta_key und meta_value durch Ihre eigenen Werte zu ersetzen.

So fügen Sie den Namen eines Gastautors mithilfe benutzerdefinierter Felder hinzu

Möchten Sie einen Gastbeitrag hinzufügen, aber nicht ein neues Benutzerprofil nur für diesen Beitrag erstellen? Eine einfachere Methode ist, den Namen eines Gastautors als benutzerdefiniertes Feld hinzuzufügen.

Um dies zu tun, müssen Sie den folgenden Code zur functions.php-Datei Ihres Themes hinzufügen oder WPCode verwenden (empfohlen):

add_filter( 'the_author', 'guest_author_name' );
add_filter( 'get_the_author_display_name', 'guest_author_name' );
function guest_author_name( $name ) {
global $post;
$author = get_post_meta( $post->ID, 'guest-author', true );
if ( $author )
$name = $author;
return $name;
}

Weitere Details finden Sie in unserem Leitfaden zum Einfügen von Snippets aus dem Web in WordPress.

Dieser Code hängt eine Funktion an die Filter the_author und get_the_author_display_name in WordPress an.

Die Funktion prüft zuerst den Namen des Gastautors. Wenn dieser vorhanden ist, ersetzt sie den Namen des Autors durch den Namen des Gastautors.

Jetzt müssen Sie den Beitrag bearbeiten, in dem der Name des Gastautors angezeigt werden soll. Gehen Sie zum Meta-Feld „Benutzerdefinierte Felder“, fügen Sie den Namen Ihres Gastautors hinzu und klicken Sie schließlich auf die Schaltfläche „Benutzerdefiniertes Feld hinzufügen“.

Benutzerdefiniertes Feld für Gastautor

Weitere Details finden Sie in unserem Artikel über das Umschreiben von Gastautor-Namen mit benutzerdefinierten Feldern in WordPress.

So zeigen Sie Mitwirkende zu einem Artikel mithilfe benutzerdefinierter Felder an

Auf vielen beliebten Blogs und Nachrichtenseiten tragen viele Autoren zum Schreiben eines einzelnen Artikels bei. WordPress erlaubt jedoch nur die Zuordnung eines einzigen Autors zu einem Beitrag.

Eine Möglichkeit, dieses Problem zu lösen, ist die Verwendung des Co-Authors Plus-Plugins. Weitere Informationen finden Sie in unserem Leitfaden, wie Sie mehrere Autoren zu einem WordPress-Beitrag hinzufügen.

Eine weitere Methode ist das Hinzufügen von Mitwirkenden als benutzerdefiniertes Feld.

Zuerst müssen Sie den Beitrag bearbeiten, in dem Sie Co-Autoren oder Mitwirkende anzeigen möchten. Scrollen Sie dann nach unten zur Meta-Box für benutzerdefinierte Felder und fügen Sie Autorennamen als Co-Autor-benutzerdefinierte Felder hinzu.

Co-Autor-Benutzerdefinierte Felder hinzufügen

Jetzt müssen Sie diesen Code in Ihre Theme-Dateien einfügen, wo Sie Co-Autoren anzeigen möchten:

<?php 
 
$coauthors = get_post_meta($post->ID, 'co-author', false);
if( count( $coauthors ) != 0 ) { ?>
<ul class="coauthors">
<li>Contributors</li>
<?php foreach($coauthors as $coauthors) { ?>
           <?php echo '<li>'.$coauthors.'</li>' ;
            }
            ?>
</ul>
<?php 
} else { 
// do nothing; 
}
?>

Um Autorennamen, die durch Kommas getrennt sind, anzuzeigen, können Sie das folgende benutzerdefinierte CSS hinzufügen:

.coauthors ul { 
display:inline;
}
.coauthors li { 
display:inline;
list-style:none;
}
.coauthors li:after { 
content:","
}
.coauthors li:last-child:after {
    content: "";
}
.coauthors li:first-child:after {
    content: ":";
}

So sah es auf unserer Demo-Website aus.

Vorschau der Coauthors-Benutzerfelder

So zeigen Sie benutzerdefinierte Felder außerhalb der Schleife in WordPress an

Was ist, wenn Sie benutzerdefinierte Felder in der Seitenleiste eines einzelnen Beitrags anzeigen müssen?

Um die benutzerdefinierten Felder außerhalb der WordPress-Schleife anzuzeigen, können Sie den folgenden Code zu Ihren Theme-Dateien hinzufügen:

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

Vergessen Sie nicht, key durch Ihren Namen für das benutzerdefinierte Feld zu ersetzen.

Benutzerdefiniertes Header, Footer, Sidebar mit benutzerdefinierten Feldern anzeigen

Normalerweise verwenden die meisten WordPress-Themes denselben Header, Footer und dieselbe Seitenleiste auf allen Seiten.

Es gibt auch viele Möglichkeiten, verschiedene Seitenleisten, Kopf- oder Fußzeilen für verschiedene Seiten Ihrer Website anzuzeigen. Sie können unseren Leitfaden lesen, wie Sie für jeden WordPress-Beitrag oder jede Seite eine andere Seitenleiste anzeigen.

Eine Möglichkeit, dies zu tun, ist die Verwendung von benutzerdefinierten Feldern. Bearbeiten Sie einfach den Beitrag oder die Seite, auf der Sie eine andere Seitenleiste anzeigen möchten, und fügen Sie dann die Seitenleiste als benutzerdefiniertes Feld hinzu.

Seitenleisten-Benutzerfeld hinzufügen

Jetzt müssen Sie Ihre WordPress-Theme-Datei bearbeiten, z. B. single.php, wo Sie eine benutzerdefinierte Seitenleiste anzeigen möchten. Sie suchen nach dem folgenden Code:

<?php get_sidebar(); ?>

Ersetzen Sie diese Zeile durch den folgenden Code:

<?php
global $wp_query;
$postid = $wp_query->post->ID;
$sidebar = get_post_meta($postid, "sidebar", true);
get_sidebar($sidebar);
wp_reset_query();
?>

Dieser Code sucht einfach nach dem benutzerdefinierten Feld für die Seitenleiste und zeigt es dann in Ihrem Theme an. Wenn Sie beispielsweise webpage als benutzerdefiniertes Feld für die Seitenleiste hinzufügen, sucht der Code nach einer Datei sidebar-webpage.php, die angezeigt werden soll.

Sie müssen die Datei sidebar-webpage.php in Ihrem Theme-Ordner erstellen. Sie können den Code aus der sidebar.php-Datei Ihres Themes als Ausgangspunkt kopieren.

RSS-Feed-Inhalte mit benutzerdefinierten Feldern manipulieren

Möchten Sie Ihren RSS-Feed-Benutzern zusätzliche Metadaten oder Inhalte anzeigen? Mit benutzerdefinierten Feldern können Sie Ihren WordPress RSS-Feed bearbeiten und benutzerdefinierte Inhalte zu Ihren Feeds hinzufügen.

Fügen Sie zuerst den folgenden Code zur functions.php-Datei Ihres Themes hinzu oder verwenden Sie WPCode (empfohlen):

function wpbeginner_postrss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$coolcustom = get_post_meta($postid, 'coolcustom', true);
if(is_feed()) {
if($coolcustom !== '') {
$content = $content."<br /><br /><div>".$coolcustom."</div>
";
}
else {
$content = $content;
}
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

Erstellen Sie nun einfach ein benutzerdefiniertes Feld namens „coolcustom“ und fügen Sie einen beliebigen Wert hinzu. Sie können es verwenden, um Anzeigen, Bilder, Text oder alles, was Sie möchten, anzuzeigen.

Weitere Details finden Sie in unserem Leitfaden zum Kopieren und Einfügen von Code aus dem Web in WordPress.

Wie man den RSS-Feed-Titel mit benutzerdefinierten Feldern manipuliert

Manchmal möchten Sie einem Beitragstitel zusätzlichen Text für RSS-Feed-Benutzer hinzufügen. Dies kann beispielsweise praktisch sein, wenn Sie einen gesponserten Beitrag oder einen Gastbeitrag veröffentlichen.

Zuerst müssen Sie den folgenden Code zur functions.php-Datei Ihres Themes hinzufügen oder WPCode verwenden, um den benutzerdefinierten Code-Snippet hinzufügen, ohne Ihre Website zu beschädigen:

function wpbeginner_titlerss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$gpost = get_post_meta($postid, 'guest_post', true);
$spost = get_post_meta($postid, 'sponsored_post', true);

if($gpost !== '') {
$content = 'Guest Post: '.$content;
}
elseif ($spost !== ''){
$content = 'Sponsored Post: '.$content;
}
else {
$content = $content;
}
return $content;
}
add_filter('the_title_rss', 'wpbeginner_titlerss');

Als Nächstes müssen Sie den Beitrag bearbeiten, in dem Sie den zusätzlichen Text im Titelfeld anzeigen möchten.

Fügen Sie dann guest_post und sponsored_post als benutzerdefinierte Felder hinzu.

Benutzerdefiniertes Feld für Gastbeiträge hinzufügen

Wenn eines dieser beiden benutzerdefinierten Felder mit dem Wert „true“ gefunden wird, fügt der Code den entsprechenden Text vor dem Titel hinzu. Diese Technik kann auf vielfältige Weise eingesetzt werden, um sie an Ihre Bedürfnisse anzupassen.

Möchten Sie mehr coole RSS-Feed-Hacks lernen? Sehen Sie sich unseren Leitfaden an, wie Sie Inhalte zu Ihren WordPress-RSS-Feeds hinzufügen und diese vollständig manipulieren.

So legen Sie das Ablaufdatum für Beiträge in WordPress mit benutzerdefinierten Feldern fest

Möchten Sie ein Ablaufdatum für einige Beiträge auf Ihrer WordPress-Website festlegen? Dies ist nützlich, wenn Sie Inhalte nur für einen bestimmten Zeitraum veröffentlichen möchten, z. B. für Umfragen oder zeitlich begrenzte Angebote.

Eine Möglichkeit, dies zu tun, ist das manuelle Entfernen des Beitragsinhalts oder die Verwendung eines Plugins wie Post Expirator.

Eine weitere Option ist die Verwendung benutzerdefinierter Felder, um Beiträge nach einer bestimmten Zeit automatisch ablaufen zu lassen. Sie müssen Ihre Theme-Dateien bearbeiten und die WordPress-Schleife wie folgt ändern:

<?php
if (have_posts()) :
while (have_posts()) : the_post();
$expirationtime = get_post_meta($post->ID, "expiration", false);
if( count( $expirationtime ) != '' ) {
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}

$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween >= 0 ) {
echo 'This post will expire on ' .$expirestring.'';
the_content();
} else {
echo "Sorry this post expired!"
}
} else {
the_content();
}
endwhile;
endif;
?>

Hinweis: Sie müssen diesen Code bearbeiten, um ihn an Ihr Theme anzupassen.

Nach dem Hinzufügen dieses Codes können Sie das benutzerdefinierte Feld für das Ablaufdatum zum Beitrag hinzufügen, der ablaufen soll. Stellen Sie sicher, dass Sie die Zeit in diesem Format eingeben: mm/dd/yyyy 00:00:00.

Hinzufügen eines Ablaufdatums mit einem benutzerdefinierten Feld

So gestalten Sie einzelne Beiträge mit benutzerdefinierten Feldern

Möchten Sie das Aussehen eines einzelnen Beitrags mit CSS ändern? WordPress weist jedem Beitrag automatisch eine eigene Klasse zu, die Sie für benutzerdefiniertes CSS verwenden können.

Durch die Verwendung benutzerdefinierter Felder können Sie jedoch Ihre eigenen benutzerdefinierten Klassen hinzufügen und diese dann verwenden, um Beiträge unterschiedlich zu gestalten.

Zuerst müssen Sie einen Beitrag bearbeiten, den Sie anders gestalten möchten. Gehen Sie zum Feld „Benutzerdefinierte Felder“ und fügen Sie das benutzerdefinierte Feld „post-class“ hinzu.

Beitrags-Klassen-Benutzerdefiniertes Feld

Als Nächstes müssen Sie Ihre WordPress-Theme-Dateien bearbeiten und diesen Code am Anfang der WordPress-Schleife hinzufügen:

<?php $custom_values = get_post_meta($post->ID, 'post-class'); ?>

Suchen Sie nun die Zeile mit der Funktion post_class().

So sah es in unserem Demo-Theme aus:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

Sie müssen diese Zeile ändern, um Ihren benutzerdefinierten Feldwert wie folgt einzufügen:

<article id="post-<?php the_ID(); ?>" <?php post_class($custom_values); ?>>

Wenn Sie nun den Quellcode des Beitrags mit dem Inspect-Tool untersuchen, sehen Sie Ihre benutzerdefinierte CSS-Klasse, die zu „post-class“ hinzugefügt wurde.

Vorschau des Beitrags-Klassen

Sie können diese CSS-Klasse jetzt verwenden, um benutzerdefiniertes CSS hinzuzufügen und Ihren Beitrag anders zu gestalten.

Wir hoffen, dieser Artikel hat Ihnen geholfen, mehr über benutzerdefinierte WordPress-Felder zu erfahren. Möglicherweise möchten Sie auch unseren Leitfaden lesen, wie Sie benutzerdefinierte Felder automatisch nach der Veröffentlichung eines Beitrags hinzufügen und die besten WordPress-Page-Builder-Plugins, die Ihnen helfen, Ihre Website so zu gestalten, wie Sie es möchten.

Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, wenn Sie auf einige unserer Links klicken, können wir eine Provision verdienen. Sehen Sie wie WPBeginner finanziert wird, warum das wichtig ist und wie Sie uns unterstützen können. Hier ist unser Redaktionsprozess.

Das ultimative WordPress-Toolkit

Erhalten Sie KOSTENLOSEN Zugang zu unserem Toolkit – eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Leserinteraktionen

49 CommentsLeave a Reply

  1. Hallo WPBeginner Team
    Ich habe alle im Artikel genannten Methoden ausprobiert, aber mein benutzerdefiniertes Feld wird im Beitrag nicht angezeigt. Mein benutzerdefinierter Feldname ist 'Mood', und ich habe die Anzeigemethode mit WPCode hinzugefügt. Ich brauche jetzt wirklich Ihre Hilfe. Könnte es sein, dass mein WordPress die Anzeige von benutzerdefinierten Feldern deaktiviert hat?

  2. Ich habe versucht, etwas zu finden, das mir tatsächlich erklärt, was benutzerdefinierte Felder sind, und Mann, dieser Artikel tut das unglaublich gut.
    Der Schritt-für-Schritt-Leitfaden ist großartig, aber für mich fühlte er sich ein wenig überwältigend an, da die Informationen für mich viel waren. Insgesamt eine großartige Ressource für Anfänger und Profis gleichermaßen! Ich habe aber eine schnelle Frage. Wie füge ich ein benutzerdefiniertes Feld für ein Bild hinzu? VIELEN DANK.

  3. Dies ist zweifellos die detaillierteste Abbildung zu den benutzerdefinierten Feldern in WordPress.
    Ich habe viele benutzerdefinierte Felder verwendet, aber nie genau gewusst, was es ist und wie es hinter den Kulissen funktioniert.
    Dieser Leitfaden ist für mich sehr relevant und hilfreich, um mein Verständnis für die benutzerdefinierten Felder zu erweitern.
    Danke wpbeginner für dieses Tutorial.

  4. Benutzerdefinierte Felder in WordPress sind immer noch etwas, das ich kenne, vage verstehe, wie es funktioniert, aber ich habe mich nie wirklich damit beschäftigt. Immer wenn ich Anleitungen in Diskussionsforen lese, verweisen viele Leute darauf. Diese Anleitung wird mir endlich helfen, anzufangen, dieses Thema besser zu studieren und mich voll und ganz damit zu beschäftigen.

  5. Ich habe dasselbe getan
    aber jedes Theme hat andere Dateien.
    so funktioniert es gut, nachdem der Code in meta.php eingefügt wurde, um alle benutzerdefinierten Metafelder auf der Beitragsseite anzuzeigen.
    aber auf einer anderen Website mit einem anderen Theme kann ich nicht verstehen, wo der Code platziert werden soll.

    • Wenn es mit einem bestimmten Theme nicht funktioniert, empfehlen wir Ihnen, sich an den Support dieses Themes zu wenden. Dieser kann Ihnen normalerweise dabei helfen, wie es mit ihrem Theme funktioniert.

      Admin

  6. Ist es auch möglich, benutzerdefinierte Feldwerte in functions.php zu verwenden?

    Zum Beispiel ein Wahr/Falsch-Wert, um ein spezielles Skript nicht zu laden, das ich nur auf speziellen Beiträgen/Seiten verwenden möchte?

  7. Wenn ich benutzerdefinierte Felder verwende, um Daten für CF7 zu speichern, wie z. B. die E-Mail-Adresse, die sich auf eine einzelne Zweigstelle bezieht, muss ich dann etwas in den Theme-Ordnern ändern oder hinzufügen? Ich möchte diesen Inhalt nicht auf der Seite anzeigen, sondern ihn für die Verwendung durch CF7 verfügbar haben... wenn das Sinn macht.

    • Sie sollten sich an den Support des Plugins wenden, um zu erfahren, wie Sie dies einrichten. Standardmäßig würde Ihr Theme diese Daten nicht anzeigen.

      Admin

  8. Gibt es eine Möglichkeit, benutzerdefinierte Felder zu erzwingen? D.h. wenn ein Beitrag kein bestimmtes Feld ausgefüllt hat; kann dem Autor mitgeteilt werden, dass er dieses Feld ausfüllen muss?

  9. Was verwenden Sie, um das Inhaltsverzeichnis auf dieser Seite zu erstellen?

    Machen Sie es manuell oder verwenden Sie ein Plugin?

    Es ist SUPER COOL – Ich LIEBE es.

    Vielen Dank für all Ihre harte Arbeit.
    MC

  10. Hallo,
    Ich hatte das benutzerdefinierte Feld auf WordPress 4.3 installiert. Da eine Aktualisierung von WordPress auf die neueste Version erforderlich war, scheinen die benutzerdefinierten Felder nach Abschluss der Aktualisierung nicht richtig zu funktionieren. Ich sah das Menü, aber in Beitrag oder Seite ging ich zu Bildschirmoptionen, ich kann das Häkchen für benutzerdefinierte Felder nicht sehen.

    • Wenn Sie den Block-Editor verwenden, klicken Sie auf die vertikale Ellipse, gehen Sie zu Optionen und dort können Sie die benutzerdefinierten Felder aktivieren, genauso wie Sie es für die Bildschirmoptionen tun würden.

      Admin

  11. Hallo,
    Für die Bearbeitung von RSS-Feed-Inhalten mit benutzerdefinierten Feldern und für andere Änderungen, wenn Sie sagen, fügen Sie den folgenden Code in die functions.php-Datei Ihres Themes ein, wo genau fügen Sie ihn ein? Ich bin in "Themes bearbeiten" und habe "functions.php" aufgerufen und sehe den Code, bin mir aber nicht sicher, wo ich zum Beispiel das obige Beispiel einfügen soll.

    • You can add it wherever you like in the file but we normally recommend the end of your functions.php so you can easily remove it should you want in the future :)

      Admin

  12. Was ist, wenn wir dem Beitragstitel ein benutzerdefiniertes Feld hinzufügen möchten?

    Zum Beispiel, wenn wir ein Datum rechts neben dem Titel hinzufügen möchten?

    (Ich verwende Formulare mit benutzerdefinierten Feldern für meine Besucher, deshalb benötige ich ein benutzerdefiniertes Feld im Titel)

  13. Hallo, ich möchte ein Formular erstellen, das Benutzern verschiedene Fragen stellt und dann die folgende Seite mit einem Seitenleistenmenü anzeigt, das an die Antworten des Benutzers im Formular angepasst ist. Ist das mit benutzerdefinierten Feldern möglich?

    • Das ist möglich, erfordert aber wahrscheinlich benutzerdefinierten Code oder ein benutzerdefiniertes Plugin, um benutzerspezifische Anzeigen einzurichten.

      Admin

  14. Benutzerdefinierte Felder werden in meinem Dropdown-Menü für Bildschirmoptionen NICHT angezeigt. Ich verwende WP 5.2.3 und das Theme Twenty Nineteen. Daher kann ich nicht mit Schritt eins beginnen. Wie behebe ich das? Vielen Dank.

    • Für den Block-Editor befinden sich die Bildschirmoptionen unter den drei Punkten oben rechts, dann gehen Sie zu Optionen

      Admin

  15. Was ist der beste Weg, um automatisch einen benutzerdefinierten Feldwert aus der eindeutigen Blog-Post-ID zuzuweisen? Die Benutzer sollten ihn nicht sehen oder ändern können. Er wird nur für den Abgleich von Daten im Textschritt verwendet.

  16. Danke, ich habe einen halben Tag damit verbracht, nach einer Möglichkeit zu suchen, einen Untertitelbereich ohne Plugin hinzuzufügen. Es stellt sich heraus, dass ich das mit dem benutzerdefinierten Feld tun kann.

  17. Ich bin neu bei WordPress und dieser Artikel hat mir geholfen, dieses Werkzeug etwas besser zu verstehen, sehr einfach zu befolgen.

    Das ist großartig. Danke!

  18. Einer der umfassendsten Artikel über benutzerdefinierte Felder, die schrittweise Erklärung wird sehr geschätzt.

  19. Danke WP Beginner!

    Ich suchte nach einer Möglichkeit, ein JavaScript als benutzerdefiniertes Feld im Header bestimmter Beiträge einzubetten. Ich habe keine genaue und zufriedenstellende Methode dafür gefunden.

    Glücklicherweise hat mir Ihr Beitrag geholfen, es in einer Sekunde zu erledigen.

    Nochmals vielen Dank!

  20. Dieser Artikel ist wirklich fantastisch, sagen Sie mir bitte noch etwas. Wie füge ich ein benutzerdefiniertes Feld für ein Bild hinzu??

  21. Ich möchte meinem Blog einen Zähler hinzufügen, um die Anzahl der Besucher zu verfolgen. Wie mache ich das?

  22. ich möchte benutzerdefinierte Felder in allen Beiträgen anzeigen, die sich in einer Kategorie befinden.
    Kann ich das tun? Würden Sie mir helfen?

  23. Ich möchte einen Zähler auf der Homepage-Sektion anzeigen, der die Anzahl der Beiträge in einer Kategorie anzeigt.

    Ist das mit benutzerdefinierten Feldern möglich?

  24. Hallo,

    Sehr interessanter Artikel in der Tat…

    Eigentlich brauche ich etwas Hilfe zu diesem Thema, wenn das natürlich möglich ist..

    1- Ich habe eine WordPress-Website
    2- Ich möchte, dass Benutzer einen Abschnitt namens "Meine Fahrzeuge" als Teil ihres Profils haben
    3- Benutzer können Fahrzeuge hinzufügen oder entfernen
    4- Ein Fahrzeugdatensatz besteht aus 3 zusammenhängenden Feldern: Jahr / Marke / Modell
    5- Die Daten der obigen 3 Felder können über die Carquery API WP gesammelt werden, indem Shortcodes gemäß deren Anweisungen auf einer beliebigen Seite platziert werden.

    Ich stecke fest, wie ich diesen Prozess machen kann:

    1- Ein Benutzer wird eine Seite namens Meine Fahrzeuge öffnen
    2- Er kann Fahrzeuge hinzufügen / entfernen / bearbeiten
    ———————————————————————————————————

    Es macht mir nichts aus, wenn es andere Wege gibt, das zu erreichen, was ich suche..

    Vielen Dank im Voraus…

  25. Tolles Thema, gut abgedeckt!

    Ich bin jedoch verwirrt, warum im Beispiel „Ablaufdatum für Beiträge festlegen…“ der dritte Parameter von get_post_meta() auf false (NICHT einzelner Wert) gesetzt ist und der Code dann implode() verwendet, um Ablaufwerte zu verketten, wenn es mehrere gibt. Sollte es (höchstens) NUR EINEN Ablaufwert pro Beitrag geben? Und wenn es mehrere gäbe, würde die implode()-Funktion dann einen unbrauchbaren Zeitwert erzeugen?

  26. Toller Artikel! Gibt es eine Chance, dass Sie sich so detailliert mit dem Hinzufügen von Benutzerfeldern zur Benutzerdatenbank befassen und diese Daten dann für bedingte Anzeigen auf der Website verwenden? Danke….

  27. Dieser Artikel ist großartig! Vielen Dank dafür.
    Was ist, wenn ich ein benutzerdefiniertes Feld haben möchte und die Werte voreingestellt sind und dem Autor als Dropdown-Menü oder Mehrfachauswahl angezeigt werden.
    Ist das erreichbar? Könnten Sie mir bitte einen Code-Schnipsel zukommen lassen?

Hinterlassen Sie eine Antwort

Vielen Dank, dass Sie einen Kommentar hinterlassen. Bitte beachten Sie, dass alle Kommentare gemäß unserer Kommentarrichtlinie moderiert werden und Ihre E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwenden Sie KEINE Schlüsselwörter im Namensfeld. Führen wir ein persönliches und bedeutungsvolles Gespräch.