Möchten Sie benutzerdefinierte Feldwerte mithilfe eines Shortcodes abrufen? Es gibt wahrscheinlich ein Plugin dafür, aber wir haben einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um benutzerdefinierte Feldwerte mit einem Shortcode in WordPress abzurufen.
Anweisungen:
Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:
add_shortcode('field', 'shortcode_field');
function shortcode_field($atts){
extract(shortcode_atts(array(
'post_id' => NULL,
), $atts));
if(!isset($atts[0])) return;
$field = esc_attr($atts[0]);
global $post;
$post_id = (NULL === $post_id) ? $post->ID : $post_id;
return get_post_meta($post_id, $field, true);
}
[field "my_key"] [field "my_key" post_id=1]
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, sollten Sie sich auch unsere anderen Artikel auf der Website ansehen, wie z. B.: 10 beste WordPress-Testimonial-Plugins für Social Proof und So erstellen Sie ein Kontaktformular in WordPress.
Bei mir wird nur das Wort Array ausgegeben?
Hallo, exzellenter Schnipsel 🙂
Ist es möglich, eine Fehlermeldung anzuzeigen, wenn die benutzerdefinierte Datei nicht existiert?
Es ist schwer, Fehler zu erkennen, wenn überhaupt keine Ausgabe erfolgt.
Mit freundlichen Grüßen
Rudi
Irgendeine Idee, wie man ein benutzerdefiniertes Feld als Link ausgibt?
Ich habe das versucht: Test, aber es funktioniert nicht. Danke.
Hallo,
Es funktioniert gut für benutzerdefinierte Felder von Plugins, danke! Aber wie rendert man Standardfelder wie „Titel“ oder „Auszug“?
Vielen, vielen Dank. Gute Arbeit
Hallo Kasra, gern geschehen. Vergessen Sie nicht, uns auf Facebook und Twitter zu folgen. 🙂
Wie kann man globale benutzerdefinierte Feldwerte verwenden, da sie von Rank Math nicht in die Meta-Beschreibung aufgenommen werden.
Dieser Artikel hat mir sehr geholfen. Vielen Dank aus Vietnam.
Danke, hat wie am Schnürchen funktioniert 🙂
Vielen Dank. Das funktioniert perfekt
Freut mich, dass es geholfen hat, Nail 🙂
Mamma mia – funktioniert einwandfrei! Vielen Dank! 🙂
Danke für diesen tollen Schnipsel, funktioniert wie am Schnürchen?
Freut mich, dass es bei Ihnen funktioniert hat
Hallo
Ich kann es nicht zum Laufen bringen. Muss ich den Shortcode bearbeiten und die Wörter : my_key durch den Namen meines benutzerdefinierten Feldes ersetzen?
Und muss ich etwas an dem Code ändern, den Sie in functions.php eingefügt haben, oder ihn so einfügen, wie er ist? Vielen Dank
Toller Schnipsel, danke. Er funktioniert gut auf meinen WooCommerce-Produktseiten, aber nicht auf dem Warenkorb und der Kasse. Irgendein Rat, wie man das beheben kann, wäre wirklich sehr willkommen!
Keine Ahnung? 🙁
Hallo! Danke für den Code.
Ist es möglich, den Schnipsel so anzupassen, dass es auch einen [field “my_key” page_id=1] Shortcode gibt?
Hallo Marco, wenn ich raten müsste, verwendest du den falschen Namen für das benutzerdefinierte Feld. Einige Plugins verwenden einen Unterstrich vor dem Namen des benutzerdefinierten Feldes, z. B. _description. Dies geschieht, um die Felder auf der Admin-Seite auszublenden.
Sie können diesen Schnipsel in Ihrem Theme verwenden, um eine Liste aller benutzerdefinierten Felder anzuzeigen. Dies zeigt eine Admin-Benachrichtigung im Beitragsbearbeitungsbildschirm im Admin-Bereich an und listet alles auf. Sie können diesen Schnipsel einfach entfernen, wenn Sie den richtigen Namen für das benutzerdefinierte Feld haben.
http://wpsnipp.com/index.php/functions-php/show-absolutely-custom-fields-post/
Nein, „description“ ist der Feldname, importiert vom Plugin „CultureObject“
Ich gebe ein neues „testfield“ mit dem Text „textfield for post“ im Beitragseditor ein.
Die „description“ wird nicht angezeigt, der Text „textfield for post“ ist sichtbar.
Ich habe in der Datenbank nachgesehen und beide Felder werden angezeigt. Abgesehen vom Text/Inhalt sind sie identisch.
Warum verhält sich ein benutzerdefiniertes Feld, das von CulturObject importiert wurde, anders als ein manuell erstelltes benutzerdefiniertes Feld.
Ist der Unterschied, dass die Felder, die ich manuell ausfülle (und die angezeigt werden), in regulären Beiträgen sind und die benutzerdefinierten Felder, die von CultureObject importiert wurden, in benutzerdefinierten Beiträgen sind? (die nicht angezeigt werden)
Das ist großartig. Vielen Dank!
Gibt nichts innerhalb eines Grid Element Textfeldes in einem Post Grid (Visual Composer) aus
Danke! Habe 2 Tage lang gegoogelt!!!
Danke für diesen Artikel, er hat mir sehr geholfen 🙂
Danke für diesen Artikel, er hat mir sehr geholfen 🙂
[...] Quelle: http://wpsnipp.com/index.php/functions-php/get-custom-field-value-with-shortcode/ [...]
Wenn Sie versuchen, benutzerdefinierte Feldinhalte in einen anderen Shortcode einzufügen, abhängig davon, wie der andere Shortcode eingerichtet ist, könnten Sie die doppelten Anführungszeichen weglassen?
Zum Beispiel:
[my_field_name]anstatt
[field "my_field_name"]Auf diese Weise könnte ein Shortcode wie dieser funktionieren (richtig?):
[contact-form to="[my_field_name]"]Denn wenn ein Shortcode mit Anführungszeichen innerhalb eines Shortcodes mit Anführungszeichen steht, verwirrt das Anführungszeichen/Klammer-Zeug am Ende (d.h. es funktioniert nicht).
Ich sehe keine doppelten Anführungszeichen in Ihrer Funktion/Ihrem Snippet, daher war ich mir nicht sicher.
Vielen Dank!
Ich habe
[field]my_field_name[/field]versucht und es hat nicht funktioniert.Ich werde morgen Details zu verschachtelten Shortcodes posten, schauen Sie sich das an, es wird Ihnen eine bessere Vorstellung davon geben, wie es mit eingebetteten Shortcodes funktionieren muss
Nein, das können Sie nicht tun, es würde nicht mehr funktionieren. Was versuchen Sie mit den verschachtelten Shortcodes zu tun? Das Verschachteln von Shortcodes wird auch nicht funktionieren, es wird einfach kaputt gehen.
Kevin, ich glaube, das ist GENAU das, wonach ich gesucht habe. Vielen Dank dafür. Ich möchte sicher sein, wie ich es benutze. Wann würden Sie das 2. anstelle des 1. verwenden? :
[field “my_key”][field “my_key” post_id=1]
Vielen Dank.
Nun, wenn Sie den Shortcode zu einem Beitrag hinzufügen, können Sie [field “my_key”] verwenden, wobei my_key der Name des benutzerdefinierten Feldes ist. Die andere Methode [field “my_key” post_id=1] lässt Sie die Beitrags-ID definieren, um den benutzerdefinierten Feldwert eines bestimmten Beitrags abzurufen.
Könnten Sie HTML-Code in einem benutzerdefinierten Feld haben, das „ausgibt“? Zum Beispiel:
Heute ist der größte Tag der Welt.
Blah
[field “list_of_images”]
Die Bilder oben sind großartig, nicht wahr?
Blah
[field “html_block1”]
Blah
[field “html_block2”]
Danke fürs Lesen meines Blogs.
Und, nur um das klarzustellen, wenn Sie kein „post_id=“ hinzufügen, wird nur das benutzerdefinierte Feld für den Beitrag/die Seite abgerufen, auf der Sie sich gerade befinden – der aktuelle Beitrag, richtig?
1. Ohne ID, ja, es wird nur das benutzerdefinierte Feld des aktuellen Beitrags abgerufen.
2. Ich sehe keinen Grund, warum es nicht funktionieren sollte, Sie sollten in der Lage sein, alles in das Feld einzugeben, und es wird angezeigt.
Ich schätze, was ich frage ist, ob es den Inhalt benutzerdefinierter Felder rendert, als ob er im visuellen Editor eingegeben worden wäre oder als ob er im HTML-Editor eingegeben worden wäre.
Nein, es wird HTML problemlos rendern.
Das Hinzufügen dieses Codes in function.php hat meine Website deaktiviert. Was habe ich falsch gemacht?
Shovan Sargunam
vom http://tamilbabyname.org Team
Erhalten Sie irgendwelche Fehler?
A ) fehlt in Zeile 6, vor return;
Funktioniert abgesehen davon gut 🙂
Cool, danke, den Snippet aktualisiert,
[…] Dieser Beitrag wurde auf Twitter von wp_freak, WPSNIPP erwähnt. WPSNIPP sagte: #wordpress Get custom field value with shortcode http://bit.ly/fWRRa3 #blog bitte RT 🙂 […]