Hinzufügen einer Meta-Box zum Hochladen eines zweiten ausgewählten Bildes?

18

Ich möchte meinen Posts und meinem Seiteneditor eine Meta-Box hinzufügen, mit der ich ein Bild hochladen und als eine Art ZWEITES Bild verwenden kann. Die Idee ist, dass mein Kunde ein Bild in diese Meta-Box hochladen kann, um das Header-Bild der Seite / Beiträge anzupassen.

Hier ist ein Beispiel für das Endergebnis: http://gointrigue.com/locations-and-dates/

Wie Sie oben auf der Seite sehen können, befindet sich ein großes Banner einer Tänzerin. Derzeit ist dies mit CSS fest programmiert. Ich möchte, dass dies stattdessen von meinem Kunden pro Seite und pro Beitrag im Wordpress-Post- / Seitenbearbeitungsbildschirm bearbeitet werden kann.

Wie fange ich an?

jkupczak
quelle
Haben Sie jemals eine Lösung dafür gefunden, für die kein Plugin eines Drittanbieters erforderlich ist? Ich suche auch nach einer Möglichkeit, dies ohne ein Plugin zu tun, da ich versuche, mein eigenes Plugin zu schreiben, das dies tut.
Josiah Sprague

Antworten:

6

Die Funktionalität, die Sie möchten, kann von Grund auf neu erstellt werden, aber auf jeden Fall wird ein benutzerdefiniertes Feld-Plugin Ihr Leben viel einfacher machen.

Ich verwende erweiterte benutzerdefinierte Felder , und es gibt erstaunliche Ergebnisse und die Möglichkeiten sind endlos.

Ich habe nicht verwendet diese ein , aber es scheint auch ziemlich gut.

Brasofilo
quelle
Ich verwende ACF für jedes WordPress, an dem ich arbeite, und es wird perfekt zu Ihren Bedürfnissen (und vielem mehr) passen
Kaaviar
Korrektur: Was @Norcross anbietet, ist kein Plugin, es ist eine Klasse und es ist wirklich die erste Klasse für Theme-Entwickler.
Brasofilo
4

Sie können dieses Plugin http://wordpress.org/extend/plugins/multiple-post-thumbnails/ verwenden , um das Header-Bild der Seite / des Posts um ein zweites Bild zu erweitern.

Vinod Dalvi
quelle
Ich verwende auch die Plugins für mehrere Post-Thumbnails, die in einer früheren Antwort erwähnt wurden, und würde dies in diesem Fall als gute Lösung empfehlen.
Ben Huson
1

Sie müssen ein Meta-Feld auf den Seiten zum Bearbeiten von Posts / Seiten hinzufügen. Siehe das Dokument für add_meta_box . Hier finden Sie ein detailliertes Beispiel sowie Informationen zum Behandeln / Speichern der eingegebenen Informationen. myplugin_inner_custom_boxErsetzen Sie in der Funktion die Texteingabe durch einen Datei-Upload (und / oder mehr Felder, wenn Sie möchten). Behandeln Sie das $_FILEArray in der myplugin_save_postdataFunktion.

Rutwick Gangurde
quelle
0

Es gibt eine Reihe von Plugins und Skripten, auf die andere verwiesen haben. Die beiden, die ich als Entwickler bevorzuge, sind Meta Box und die Meta Box-Klasse . In beiden Fällen müssen Sie mit Code experimentieren, um die Felder einzurichten. Wenn Sie jedoch benutzerdefinierte Metas hinzufügen, werden Sie mit Code experimentieren, um ihn trotzdem anzuzeigen.

Advanced Custom Fields ist ein nützliches Plugin für kleinere Anforderungen und ermöglicht das Hinzufügen neuer Felder im laufenden Betrieb, aber jedes Feld (und Unterfeld - Repeater) wird als eindeutiges Feld hinzugefügt, und für jedes Feld, das Sie hinzufügen, fügt das Plugin 2 hinzu Felder in der Datenbank (das zweite ist eine von ACF zugewiesene Kennung.) Wenn Sie also eine Abfrage auf einer Seite durchführen, um 10 Felder zu erhalten, werden Sie tatsächlich 20 Datenbankabfragen (plus eine weitere von ACF) durchführen, die wirklich dazu beitragen können DB-Abfrage aufgebläht. Verwenden Sie diese vorsichtig.

E Nailor
quelle