it-swarm.com.de

Benutzerdefiniertes Feld/Meta, das durch Dropdown bestehender Posts ausgefüllt wird?

(Meine erste WP Frage, die jemals gestellt wurde! Sei sanft!)

Ich erstelle eine Site, die hauptsächlich aus Seiten (d. H. Statischen Seiten) besteht, und verwende WP als CMS. Am unteren Rand mehrerer Seiten befinden sich 1, 2 oder 3 "Promo-Boxen" - im Grunde genommen Schaltflächenbilder, die auf andere Teile der Website verweisen. Obwohl auf einer Seite nur bis zu 3 Werbefelder angezeigt werden, stehen ca. 30 verschiedene zur Auswahl.

Wenn mein Kunde eine neue Seite erstellt, möchte ich, dass er Promo-Boxen aus einer Dropdown-Liste aller möglichen Promo-Boxen auswählen kann.

Mir scheint, das sollte so funktionieren:

  • Erstellen Sie einen benutzerdefinierten Post-Typ namens "Promo-Box". (Obwohl es genauso gut ein Tag für reguläre Posts sein könnte.)
  • Verwenden Sie ein Tool wie Benutzerdefinierte Feldvorlage , um im Seiteneditor ein Dropdown-Menü zu erstellen, in dem die Werte der Dropdown-Optionen dynamisch aus der Liste aller vorhandenen Promo-Box-Posts generiert werden. (Dies ist der Teil, den ich nicht kann.)
  • Greifen Sie auf die resultierenden Metadaten (Post-Nummer ist wirklich alles, was ich brauche, dann kann ich alles andere bekommen) auf der Seitenvorlage zu.

Basierend auf den Antworten auf andere Fragen hier habe ich mich zunächst mit WPAlchemy MetaBox, Posts-2-Posts und benutzerdefinierten SLT-Feldern befasst, aber ich gestehe, dass die Dokumentation für jedes dieser Felder etwas ausgefallener ist als ich, daher habe ich mich nicht damit befasst zu tief.

Rat? Ist eines der oben genannten Tools die richtige Lösung für mich und ich muss es nur herausfinden? Vermisse ich hier etwas?

11
Nic Warmenhoven

Als Autor von WPAlchemy bin ich ein bisschen voreingenommen, aber Sie haben im Grunde genommen ein gutes Arbeitsmodell, das Sie befolgen können, je nachdem, welche Route Sie wählen.

Wenn Sie jedoch WPAlchemy verwenden, würden Sie im Grunde Folgendes tun (Schritt 2):

//  functions.php

include_once 'WPAlchemy/MetaBox.php';

if (is_admin()) 
{
    // a custom style sheet if you want to do some fancy styling for your form
    wp_enqueue_style('custom_meta_css', TEMPLATEPATH . '/custom/meta.css');
}

// define the meta box
$custom_metabox = new WPAlchemy_MetaBox(array
(
    'id' => '_custom_meta',
    'title' => 'My Custom Meta',
    'template' => TEMPLATEPATH . '/custom/meta.php'
));

custom/meta.css kann Formatvorlagen enthalten, mit denen Sie Ihr Formular formatieren können. custom/meta.php ist im Wesentlichen eine HTML-Datei mit dem FORMULAR-Inhalt der Meta-Box, in diesem Fall Ihrer Dropdown-Liste. Um Ihre Dropdown-Liste zu generieren, würden Sie eine benutzerdefinierte WP-Abfrage durchführen, um alle Ihre zu erhalten benutzerdefinierte Beitragstypen. WPAlchemy verfügt über einige spezielle Hilfsfunktionen, die Sie beim Erstellen Ihrer Formularelemente unterstützen.

Es gibt eine zusätzliche Dokumentation , die Sie beim Arbeiten mit der Vorlage unterstützt.

Das Hauptziel von WPAlchemy bestand darin, die Kontrolle über den Entwickler zu behalten, vom Styling (Look + Feel) bis zur Definition des Meta-Box-Inhalts.

Und ich und andere sind immer bereit, denen zu helfen, die Kommentare abgeben und Fragen stellen.

7
farinspace