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


12

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 personnalisé WP_query. Mais je veux aller plus loin.

Créez un bouton personnalisé à côté de upload mediapour 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 le fichier media.php de wp:

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 la façon dont je le vois, il vaut mieux que toute description:

entrez la description de l'image ici 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.

PS: 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é!

ÉDITER:

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 est expliqué par exemple ici .

Donc, la vision finale est quelque chose comme ceci:

entrez la description de l'image ici entrez la description de l'image ici

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


1
Je pense que ce n'est probablement pas une bonne idée d'utiliser l'éditeur multimédia pour gérer les publications personnalisées. Ne pourriez-vous pas créer un nouveau type de mime de pièce jointe appelé "portfolio" et créer des galeries de portfolio avec la gestion des éditeurs de shortcode et des médias existants?
Fabien Quatravaux

Merci @FabienQuatravaux, je ne suis pas sûr de comprendre comment cela devrait fonctionner, mais je vais maintenant enquêter dans cette direction, pourriez-vous recommander une lecture?
Nikita

À quoi sert le type de message personnalisé? Utilisez-vous uniquement le type de publication personnalisé car il insère le menu approprié dans la zone d'administration? Comment associez-vous l'image à un article de portfolio (comme indiqué dans votre capture d'écran)?
Fabien Quatravaux

J'ai utilisé le type mime de pièce jointe personnalisée dans mon plugin Twikin , mais je ne suis pas sûr que cela vous concerne complètement.
Fabien Quatravaux

Réponses:


1

entrez la description de l'image ici

Jetez un œil à mon guide ici - http://www.wpexplorer.com/wordpress-tinymce-tweaks/ - afin que vous puissiez voir comment créer une fenêtre contextuelle dans laquelle vous pouvez sélectionner vos options plutôt 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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.