web-dev-qa-db-fra.com

Contenu de téléchargement multimédia personnalisé pour l'insertion d'un shortcode de message personnalisé

Je travaille sur un plugin qui crée un "portfolio" de type de publication personnalisé avec un shortcode à insérer dans n'importe quelle page ou publication.

Le shortcode est: [portfolio option1=“1” option2=“0” option3=“1” ]

Et cela fonctionne très bien, il affiche tous les messages personnalisés via un WP_query Personnalisé. Mais je veux aller plus loin.

Créez un bouton personnalisé à côté de upload media Pour générer une sortie de shortcode de portefeuille, où l'utilisateur peut sélectionner la publication à inclure et définir toutes les options. La sortie serait donc: [portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]

Voici le code d'un bouton que j'ai trouvé dans wp’s media.php:

add_action( 'media_buttons', array( $this, 'media_buttons' ) );

public function media_buttons($editor_id = 'content') {
    $post = get_post();
    if ( ! $post && ! empty( $GLOBALS['post_ID'] ) )
        $post = $GLOBALS['post_ID'];

    wp_enqueue_media( array(
        'post' => $post
        ) );
    $img = '<span class="wp-media-buttons-icon"></span> ';

    echo '<a href="#" id="insert-media-button" class="button insert-media add_media" data-editor="' . esc_attr( $editor_id ) . '" title="' . esc_attr__( 'Add Portfolio' ) . '">' . $img . __( 'Add Portfolio' ) . '</a>';
}

Et il fait ce qui fait. Mais, maintenant, quelle est la meilleure façon de modifier le contenu de la fenêtre créée? Voici une image de ce que je vois, c'est mieux que n'importe quelle description:

enter image description here Dans quelle mesure ce serait potentiellement compliqué et délicat à accomplir? Je ne sais pas dans quelle direction dois-je me tourner, est-ce même possible? Veuillez indiquer toutes les suggestions où dois-je commencer à creuser pour trouver une solution.

P.S .: Ou peut-être que je me trompe en premier lieu et que je devrais envisager d'utiliser ThickBox? Mais je veux conserver l'aspect natif de la fenêtre contextuelle de téléchargement des médias.

À votre santé!

MODIFIER:

Eh bien, peut-être une meilleure solution serait d'utiliser un modèle de shortcode de galerie native. Il n'est pas difficile d'ajouter un nouvel élément de menu dans la fenêtre de téléchargement des médias, comme cela a été expliqué par exemple ici .

Donc, la vision finale est quelque chose comme ceci:

enter image description hereenter image description here

Cela doit être fait avec Backbone.js je crois? Mais la question principale, peut-elle manipuler des publications personnalisées au lieu d'images?

12
Nikita

enter image description here

Jetez un oeil à mon guide ici - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - afin que vous puissiez voir comment créer une fenêtre contextuelle où vous pouvez sélectionner vos options que d'insérer un shortcode. Si vous téléchargez mon plugin Free Symple Shortcodes, vous pouvez également voir une implémentation en direct.

Au lieu de demander à l'utilisateur de sélectionner les publications à insérer, ajoutez plutôt une taxonomie de catégories à votre portefeuille afin que l'utilisateur puisse organiser les éléments en catégories. Ensuite, vous pouvez avoir une simple liste déroulante dans la fenêtre contextuelle pour que l'utilisateur puisse sélectionner la catégorie à partir de laquelle extraire les publications.

Cela est beaucoup plus facile à gérer pour l'utilisateur final à l'avenir, car il suffit d'ajouter ses messages à la catégorie et le shortcode les affichera automatiquement sans avoir à mettre à jour manuellement le shortcode pour inclure les nouveaux messages.

  • UN J
1
WPExplorer