Frage

Weiß jemand zufällig, wie man eine einfache Schaltfläche "Anhänge/Durchsuchen" erstellt, die in ein Metabox platziert werden kann, das beim Klicken auf eine Lightbox geöffnet wird, in der der Benutzer alle Mediendateien anzeigen kann Anhängen und klicken Sie unten auf eine Schaltfläche "Anhängen". Nach dem Klicken auf "Anhängen" der Post -Metabox würde mit allen von ihm ausgewählten Dateien aktualisieren ...

War es hilfreich?

Lösung

Für den Teil des Öffnens einer Lightbox suchen Die Gallerie.

Sie finden den gesamten Code, den Sie dafür benötigen in WordPress. Das einzige, was Sie tun müssen, ist, den eher komplexeren Code -Stück zu sammeln, ihn selbst in einem Plugin zu verpacken und ihn so zu ändern, dass Sie Ihren Anforderungen entsprechen. Diese Komponenten sind für sich genommen nicht sehr wiederverwendbar, daher gibt es keine API, die Ihnen dies leichter machen können. Nun, das ist nicht wirklich wahr, du kannst benutzen tb_show() um die dicke Box für anzuzeigen Beispiel.

Aber insgesamt ist dies nicht trivial. Sie suchen wahrscheinlich nach etwas, das einfacher zu übernehmen ist. Ich weiß nicht. Ich habe einmal an der Kommunikation von Dickbox <--> Post-Editor (die mit dem, was Sie brauchen, komplexer sein) gebastelt und es gibt viel zu überlegen, um Dinge zu tun. Für das von Ihnen beschriebene Szenario wird jedoch häufig benötigt, um die Seite zu signalisieren, die die Dicke öffnet, um etwas nach der Auswahl im Popup zu aktualisieren.

Für die Metabox sollten Sie genügend Code-Snippets finden, wie man einen erstellt. Ich bin mir also ziemlich sicher, dass es dafür bereits Code gibt.

Andere Tipps

https://github.com/jaredatch/custom-metaboxes-and-fields-for-wordpress

Diese Jungs haben eine fantastische Bibliothek für benutzerdefinierte Feldtypen in WP Admin erstellt. Ich denke, genau das, wonach Sie suchen - es macht das Erstellen von Bild -Upload -Feldern trivial.

Auf diese Weise können Metaboxe für jeden posttypprogrammieren mit Feinsteuerung dekaliert sein.

Es gab eine Anfrage nach mehr Details. Auf das Risiko des Duplikierens von Wissen finden Sie hier ein Beispiel aus der Dokumentation (mit einigen Mods, um die Dateisteuerung zu verwenden). ein Bildmetabox:

function be_sample_metaboxes( $meta_boxes ) {
$prefix = '_cmb_'; // Prefix for all fields
$meta_boxes[] = array(
    'id' => 'test_metabox',
    'title' => 'Test Metabox',
    'pages' => array('page'), // post type
    'context' => 'normal',
    'priority' => 'high',
    'show_names' => true, // Show field names on the left
    'fields' => array(
        array(
            'name' => 'Test Text',
            'desc' => 'field description (optional)',
            'id' => $prefix . 'test_image',
            'type' => 'file'
        ),
    ),
);

return $meta_boxes;
}
add_filter( 'cmb_meta_boxes', 'be_sample_metaboxes' );


add_action( 'init', 'be_initialize_cmb_meta_boxes', 9999 );
function be_initialize_cmb_meta_boxes() {
if ( !class_exists( 'cmb_Meta_Box' ) ) {
    require_once( 'lib/metabox/init.php' );
}
}

Was ich tue, ist, dies in mein Postype_My_Post_type_name.php zu setzen, wo ich den Post -Typ erstelle. Erfordern Sie dies aus der Datei functions.php, nachdem Sie die Metabox -Bibliothek benötigt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top