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 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 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:
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:
Cela doit être fait avec Backbone.js je crois? Mais la question principale, peut-elle manipuler des publications personnalisées au lieu d'images?