Question

Est-ce que quelqu'un arrive à savoir comment créer un simple bouton « attacher / browse » qui peut être placé dans un METABOX qui après avoir cliqué sur elle ouvrirait une visionneuse où l'utilisateur serait en mesure d'afficher tous les fichiers multimédias, cochez les il veut attacher et cliquez sur un bouton « attacher » sur le fond. Après avoir cliqué sur « attacher » la METABOX post mettra à jour avec tous les fichiers qu'il sélectionnés ...

Était-ce utile?

La solution

Pour la partie de l'ouverture d'une visionneuse, recherchez quelque chose, puis d'effectuer quelque chose sur une action dans:. Wordpress a cette construction déjà pour ce que vous demandez est fondamentalement la thickbox qui ouvre comme dans l'éditeur de messages lorsque vous recherchez une image dans la galerie.

Vous trouverez tout le code dont vous avez besoin pour cela déjà wordpress. La seule chose que vous devez faire est de recueillir le morceau plus complexe de code, empaqueter dans un plugin sur son propre et le modifier pour l'adapter à vos besoins. Ces composants ne sont pas très Réutilisable eux-mêmes, donc il n'y a pas d'API qui aurait pu faciliter la tâche pour vous. Eh bien, ce n'est pas vraiment vrai, vous pouvez utiliser tb_show() pour afficher le thickbox .

Mais dans l'ensemble, ce n'est pas trivial. Vous êtes à la recherche sans doute pour quelque chose qui est plus facile à adopter. Je ne sais pas. Une fois, je bricolé avec thickbox <-> communication après l'éditeur (qui pourrait être plus complexe avec ce que vous avez besoin), et il y a beaucoup de choses à penser à faire les choses. Mais pour le scénario que vous décrivez, il est souvent nécessaire, pour signaler la page qui ouvre la thickbox à quelque chose de mise à jour après la sélection dans le menu contextuel a été fait.

Pour Metabox, vous devriez trouver assez de code-snippets comment créer un, donc je suis assez sûr qu'il existe déjà un code pour cela.

Autres conseils

https://github.com/jaredatch/Custom-Metaboxes- et-Fields-pour-WordPress

Ces gars-là ont fait une bibliothèque impressionnante pour les types de champs personnalisés dans wp. Je pense que son exactement ce que vous cherchez - il permet de créer des champs de téléchargement d'images trivial

.

Cela permet Metaboxes à decalred pour tout type de post programticly avec contrôle fin.

Il y avait une demande pour plus de détails. Au risque de duplication des connaissances, voici un exemple de la documentation (avec quelques mods pour utiliser le contrôle de fichiers). une image 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' );
}
}

Qu'est-ce que je fais est mis dans mon posttype_my_post_type_name.php où je crée le type de poste. Exiger ce à partir du fichier functions.php après avoir requis la bibliothèque METABOX.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top