Rufen Sie Fotogalerie-Bildwerte am Frontend einer WordPress Meta Box ab
Lesezeit: 6 Minuten
Beachtung
Zusammenfassung:
Ich muss meine eigene HTML-Fotogalerie verwenden, um dies zu tun:
Mir wurde geraten, MetaBox zu verwenden, also habe ich es gefunden und installiert MetaBox.io-Plugin.
Als nächstes generierte ich eine Erweitertes Bild Code über ihre Website und fügte ihn unter functions.php hinzu, damit der Uploader im Backend angezeigt wird.
Aber am Front-End habe ich Probleme, die Werte der Bilder abzurufen.
Wie kann ich benutzerdefinierte Felder zu Bildern der WordPress-Mediengalerie hinzufügen (z. B. Überschrift, Unterüberschrift, Untertitel, Fotograf) und wie kann ich diese Werte für jede Bildfolie am Frontend abrufen?
$images = rwmb_meta( $field_id, ... – und $field_id enthält an dieser Stelle den richtigen Wert?
– CBroe
1. Juni um 14:20 Uhr
@CBroe danke für deine wertvolle Frage. Um Ihre Frage zu beantworten, wird der Fehler “Undefinierte Variable $field_id” ausgegeben. Bitte haben Sie etwas Geduld, ich bin neu bei WordPress, also habe ich alle Codes von ihrer Website ausprobiert, aber die Sache ist, dass ich mir nicht sicher bin, wo ich diesen Code in index.php platzieren soll, da die Dokumentation nicht sehr klar ist 🙁 Kennen Sie eine native Methode mit WordPress für Metabox Backend & CMS?
– Beachtung
Vor 2 Tagen
Ich würde vermuten, dass Sie einfach die gleiche Feld-ID angeben müssen, die Sie bei der Registrierung des Felds verwendet haben …? $images = rwmb_meta( 'image_advanced_8hswqfsoqai', array( 'size' => 'thumbnail' ) );
– CBroe
Vor 2 Tagen
danke, dass Sie meinem Rat gefolgt sind. Also hier sind wir
Der erste Wert unserer Feld-ID, der gemäß Ihrer Codestruktur gefielded wird: image_advanced_8hswqfsoqai
Und lassen Sie den nächsten Wert leer, um alle zu erhalten.
Und der letzte Parameter ist die Seiten-ID oder der Beitrag, den ich mit bekommen habe get_the_ID() ID der Seite, auf der wir uns gerade befinden.
Um die Seite gemäß Ihrer vorherigen Frage auf dieser Seite zu optimieren und zu verwenden, schreibe ich den folgenden Code und füge ihn bitte ein (natürlich, wenn Sie mit der Seitenvorlage arbeiten möchten)
Schritt 1: Fügen Sie eine Funktion hinzu, um die Meta-Box auf der Seite zu erstellen und zu posten
Geben Sie diesen Code in die functions.php Datei, wie Sie sie kennen
Jetzt können Sie sowohl der Seite als auch dem Beitrag eine Bildergalerie hinzufügen
Schritt 2: Zeigen Sie in der Seitenvorlage dieselbe Datei an, die diese enthält Template Name: students Dies gilt natürlich nur für Sie, die die entsprechende Frage an anderer Stelle gestellt haben (diese Seite).
Dies sollte der Fall sein, wenn Sie innerhalb des Kreises oder der Hauptseite oder innerhalb der Beiträge anzeigen möchten.
Um die Bildmenge oder eine andere Flüssigkeit anzuzeigen, müssen Sie sie in der WordPress-Abfrage verwenden.
Beispiel für die Verwendung in einer WordPress-Abfrageschleife
<?php
$query = new WP_Query($args);
if ($query->have_posts()) {
// some code here if you want.
while ($query->have_posts()) {
$query->the_post();
?>
<div class="col-lg-6 img-grids mt-lg-0 mt-5 pl-lg-4">
<?php
$untitled_meta = rwmb_meta('image_advanced_8hswqfsoqai', '', get_the_ID());
foreach ($untitled_meta as $image) {
?>
<img src="<?=%20$image['full_url']%20//%20Or%20Use%20url%20for%20crop%20size%20%20%20?>" alt="<?= $image['alt'] ?>"
class="img-fluid radius-image"/>
<?php
}
?>
</div>
<?php
}
}
?>
Bitte, ich habe ein zweites Problem. Nach Ihrer Antwort werde ich dies als Antwort markieren. Ich muss benutzerdefinierte Felder zur Mediengalerie hinzufügen, wie mache ich das Backend und Frontend? Ich habe meine Frage bearbeitet und einen Screenshot für Sie gepostet.
– Beachtung
gestern
Können Sie mir bitte bei meinem zweiten Problem helfen? Übrigens, Sie sind ein Glücksfall, Morteza, die Abfrageschleife ist das, was ich brauchte, und lassen Sie mich erklären, warum. Ich muss die Bilder in einem PHP-Seitentyp und nicht in einem Beitrag abrufen. Bedeutung, get_the_ID() wäre ohne die Abfrageschleife leer, wenn ich mich nicht in einem Beitrag befinde. Gute Arbeit am vollständigen Beispiel.
– Beachtung
gestern
Hallo, danke für die Erklärung, ich werde auf jeden Fall das zweite Problem erklären, aber ich bin jetzt beschäftigt und ich werde Ihnen eine Nachricht senden, sobald es vorbei ist. Das Seitenelement funktioniert auch dann, wenn es sich nicht innerhalb der Schleife befindet, denn wenn es sich nicht um eine Schleife handelt, gibt WordPress automatisch die ID der Seite zurück, die es zuerst findet. Wie auch immer, ich werde darüber aufklären.
– Morteza Barati
gestern
ja Morteza 🙂 get_the_ID() funktioniert in einer Seite, aber ich habe einen Sonderfall, wo ich die Galerie nicht in eine PAGE eingefügt habe, sondern in einem POST, der zu einer Kategorie gehört die ich wiederum auf einer Seite abrufe, also war Ihr vollständiges Beispiel ein Lebensretter, also musste ich Beiträge einer Kategorie abrufen, indem ich dies oben in Ihren Code einfügte $args = array('cat' => 8);. Bitte vergessen Sie nicht meine letzte Ausgabe zum Hinzufügen und Abrufen neuer Felder für die Bilder der Mediengalerie.
– Beachtung
gestern
Soll ich sie als Antwort markieren und dann eine neue Frage öffnen (benutzerdefinierte Felder in Medien)?
– Beachtung
gestern
10170600cookie-checkRufen Sie Fotogalerie-Bildwerte am Frontend einer WordPress Meta Box abyes
$images = rwmb_meta( $field_id, ...
– und$field_id
enthält an dieser Stelle den richtigen Wert?– CBroe
1. Juni um 14:20 Uhr
@CBroe danke für deine wertvolle Frage. Um Ihre Frage zu beantworten, wird der Fehler “Undefinierte Variable $field_id” ausgegeben. Bitte haben Sie etwas Geduld, ich bin neu bei WordPress, also habe ich alle Codes von ihrer Website ausprobiert, aber die Sache ist, dass ich mir nicht sicher bin, wo ich diesen Code in index.php platzieren soll, da die Dokumentation nicht sehr klar ist 🙁 Kennen Sie eine native Methode mit WordPress für Metabox Backend & CMS?
– Beachtung
Vor 2 Tagen
Ich würde vermuten, dass Sie einfach die gleiche Feld-ID angeben müssen, die Sie bei der Registrierung des Felds verwendet haben …?
$images = rwmb_meta( 'image_advanced_8hswqfsoqai', array( 'size' => 'thumbnail' ) );
– CBroe
Vor 2 Tagen