Rufen Sie die Post-ID in der Variablen im Grid Builder Visual Composer ab
Lesezeit: 2 Minuten
Giovanni Ricciardi
Ich versuche, einige benutzerdefinierte Felder in meinen benutzerdefinierten Grid-Builder zu bekommen. Ich habe eine zusätzliche Taxonomie hinzugefügt und möchte benutzerdefinierte Daten zur Anzeige hinzufügen. Ich habe deinen Artikel hier gelesen: https://kb.wpbakery.com/docs/developers-how-tos/adding-custom-shortcode-to-grid-builder/ und bei der Implementierung bekomme ich ein Problem, wenn ich versuche, die ID der aktuellen Post-ID abzurufen. Ich weiß, der Code ist wie folgt:
add_shortcode( 'vc_post_id', 'vc_post_id_render' );
function vc_post_id_render() {
return '<h2>{{ post_data:ID }}</h2>'; // usage of template variable post_data with argument "ID"
}
Die Sache ist, dass die {{ post_data:ID }} nicht in einer Variablen gespeichert werden kann, um später den Beitrag zu erhalten und damit zu spielen:
wie es scheitern wird. Können Sie mir bitte sagen, wie ich die aktuelle Beitrags-ID als Variable bekomme, damit ich benutzerdefinierte Daten im Raster anzeigen kann?
Vielen Dank.
Ich habe das selbe Problem. Hast du es kapiert!?
– Tiffany Israel
1. Juni 2017 um 16:38 Uhr
Es scheint, dass es einen String-Wert zurückgibt. Ich versuche das zu lösen. wird aktualisieren, wenn ich etwas gefunden habe
– Amilaishere
7. Juni 2017 um 10:59 Uhr
Hast du jemals herausgefunden, wie das geht? Ich habe gerade das gleiche Problem und kann nirgendwo klare Informationen finden.
– Alfie Robles
9. Juni 2018 um 22:55 Uhr
Ok, hier was ich denke. In meinem Szenario habe ich ein benutzerdefiniertes Feld namens Preis. So konnte ich den Preis mit anzeigen
{{ post_data:price }}
Dies. Aber als ich versuchte, es einer Variablen zuzuweisen, schlug es fehl. Wenn ich die Variable var_dump gebe es mir (21) Zeichen für jedes Mal. Also dachte ich, dass es unsichtbare Charaktere geben muss. also ich
echo bin2hex($price)
Das Ergebnis war 7b7b20706f73745f646174613a7072696365207d7d
Und nach der Konvertierung von ASCII in Text wurde es so
{{ post_data:price }}
Dann habe ich es begriffen. Oh dumm von mir. Dies sind Template-Tags. Wie in smarty oder eckig. Sie haben Werte eingefügt, sobald die Seite geladen wurde. PHP hat also keine Chance, einen Mehrwert zu erzielen, da alles auf der Client-Seite geschieht.
Du hast das Problem wirklich gut erklärt! gab aber keine alternative Lösung.
– Rakesch
26. August 2019 um 11:54 Uhr
Sie müssen vc_gitem_template_attribute_YOUR_ATTRIBUTE erstellen und dort können Sie die ID nehmen. so was:
Ich habe das selbe Problem. Hast du es kapiert!?
– Tiffany Israel
1. Juni 2017 um 16:38 Uhr
Es scheint, dass es einen String-Wert zurückgibt. Ich versuche das zu lösen. wird aktualisieren, wenn ich etwas gefunden habe
– Amilaishere
7. Juni 2017 um 10:59 Uhr
Hast du jemals herausgefunden, wie das geht? Ich habe gerade das gleiche Problem und kann nirgendwo klare Informationen finden.
– Alfie Robles
9. Juni 2018 um 22:55 Uhr