Domanda

Qualcuno capita di sapere come creare un semplice pulsante che può essere inserito in una METABOX "/ browse attach", che dopo aver fatto clic si aprirebbe un lightbox in cui l'utente sarà in grado di visualizzare tutti i file multimediali, spuntare quelli vuole collegare e fare clic su un pulsante di "collegare" in basso. Dopo aver cliccato su "Allega", il post METABOX si aggiorna con tutti i file ha selezionato ...

È stato utile?

Soluzione

Per la parte di apertura di una lightbox, sfogliare per qualcosa e poi eseguire qualcosa su un'azione entro:. Wordpress ha già questo costruire in per quello che si chiede è fondamentalmente la thickbox che si apre come nell'editor post quando si naviga per un'immagine nella galleria.

Ci trovi tutto il codice necessario per che già in wordpress. L'unica cosa che devi fare è quello di raccogliere il più complesso piuttosto porzione di codice, confezionarlo in un plugin sul suo proprio e modificarlo in base alle proprie esigenze. Queste componenti non sono molto riutilizzabili per conto proprio, quindi non c'è API, che avrebbe potuto fare questo più facile per voi. Beh, questo non è proprio vero, è possibile utilizzare tb_show() per visualizzare il thickbox per .

Ma nel complesso, questo non è banale. Probabilmente alla ricerca di qualcosa che è più facile da adottare. Non lo so. Una volta ho armeggiato con thickbox <-> comunicazione editor di posta (che potrebbe essere più complesso, con quello che ti serve), e c'è molto da pensare a fare le cose. Ma per lo scenario che si descrive, è spesso necessario, per segnalare la pagina che si sta aprendo il thickbox di aggiornamento qualcosa dopo la selezione nel popup è stato fatto.

Per la METABOX, si dovrebbe trovare abbastanza code-frammenti come crearne uno, quindi sono abbastanza sicuro che ci sia già il codice per questo.

Altri suggerimenti

https://github.com/jaredatch/Custom-Metaboxes- e-campi-per-WordPress

Questi ragazzi hanno fatto una libreria impressionante per i tipi di campo personalizzato in WP admin. Credo che la sua esattamente quello che stai cercando - rende la creazione di campi di caricamento delle immagini banali

.

In questo modo Metabox essere decalred per qualsiasi tipo di messaggio programticly con un controllo preciso.

Ci fu una richiesta di ulteriori dettagli. A rischio di duplicazione conoscenze, ecco un esempio dalla documentazione (con alcune mods per utilizzare il controllo dei file). un'immagine METABOX:

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' );
}
}

Quello che faccio è mettere questo nel mio posttype_my_post_type_name.php dove sto creando il tipo di posta. Richiedono questo dal file functions.php dopo aver richiesto la libreria METABOX.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top