web-dev-qa-db-fra.com

générer dynamiquement la syntaxe de plugin

J'ai téléchargé un plugin de lecteur audio pour WP. la syntaxe est très simple. Vous ajoutez simplement la ligne [audio:my_file.mp3] à votre éditeur/extrait de publication et appelez-la dans la boucle avec respectivement the_content() ou the_excerpt().

Je voudrais construire une metabox dans laquelle l'utilisateur téléchargerait un fichier, et la syntaxe du plugin serait automatiquement générée en conséquence. Je sais comment insérer les métadonnées dans la base de données, mais les extraire avec get_post_meta() ou the_meta() obtient simplement la syntaxe telle quelle, sans la remplacer par le contenu du plugin souhaité (c'est-à-dire le lecteur audio).

J'ai pensé injecter dynamiquement la syntaxe dans l'éditeur/extrait en utilisant le filtre default_content mais ce filtre ne s'applique qu'aux publications normales, alors que le mien est un type de publication personnalisé (audio). vos idées sont les bienvenues.

1
Matanya

Cela ressemble à un bouton personnalisé TinyMCE serait le candidat idéal pour le travail.

WordPress a une excellente rédaction dans le codex sur la façon de créer un ; vous ajouteriez essentiellement un bouton à la barre d’outils TinyMCE avec votre propre rappel, ce qui pourrait déclencher une fenêtre contextuelle modale vous permettant de choisir le fichier audio et d’insérer automatiquement le code court.

De même, vous pouvez vous connecter à la sortie des éléments multimédias une fois qu'ils ont été téléchargés et afficher un lien qui injecterait le numéro abrégé de cet élément dans la publication (s'il était chargé dans la fenêtre contextuelle Thickbox), comme si les miniatures présentées fonctionnaient. .

Consultez get_media_item() et get_attachment_fields_to_edit() dans wp-admin/includes/media.php pour connaître les crochets et les filtres disponibles.

2
TheDeadMedic