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

12

Je travaille sur un plug-in qui crée un type de message personnalisé "portfolio" avec un shortcode à insérer dans une page ou un message.

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

Et cela fonctionne très bien, il affiche toutes les publications personnalisées via WP_query . 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, dans laquelle l'utilisateur peut sélectionner la publication à inclure et définir toutes les options. Donc, le résultat serait: [portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ]

C’est 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 quoi. Mais, maintenant, quel est le meilleur moyen de modifier le contenu de la fenêtre créée? Voici une image de la façon dont je la vois, mieux que n’importe quelle description:

Àquelpointceseraitcompliquéetdélicatàaccomplir?Jenesaispasquelledirectiondois-jeregarder,est-cemêmepossible?Veuillezindiquervossuggestionspoursavoiroùjedevraiscommenceràchercherunesolution.

P.S.:Oupeut-êtrequejemetrompeaudépartetquejedevraisenvisagerd’utiliserThickBox?Maisjeveuxconserverl’aspectnatifdelafenêtrecontextuelledetéléchargementdecontenumultimédia.

Salut!

EDIT:

Ehbien,unesolutionbienmeilleureseraitd’utiliserunmodèledeshortcodedegalerienative.Iln'estpasdifficiled'ajouterunnouvelélémentdemenudanslafenêtredetéléchargementdemédia,commeexpliquéparexemple ici .

La vision finale ressemble donc à ceci:

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

    
posée Nikita 28.02.2014 - 14:40

1 réponse

0

Consultezmonguideici- enlace - pour savoir 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 plug-in Free Symple Shortcodes, vous pourrez également voir une implémentation en direct.

Au lieu de laisser l'utilisateur sélectionner les articles à insérer, ajoutez plutôt une taxonomie de catégories à votre portefeuille afin de pouvoir organiser les éléments en catégories. Vous pouvez ensuite créer une simple liste déroulante dans la fenêtre contextuelle afin que l’utilisateur puisse sélectionner la catégorie dans laquelle extraire les publications.

C’est beaucoup plus facile pour l’utilisateur final à gérer à l’avenir car il lui suffit d’ajouter ses publications à la catégorie et le shortcode les affichera automatiquement sans qu'il soit nécessaire de les mettre à jour manuellement pour inclure les nouvelles publications.

  • AJ
réponse donnée WPExplorer 29.05.2017 - 19:09

Lire d'autres questions sur les étiquettes