Shortcake (intercode de raccourci)
Contributeurs: Fusion Engineering, Mattheu, Danielbachhuber, Zebulonj, Goldenapples, Jitendraharpalani, Sanchothefat, BFintal, Davisshaver, Garyj, Mte90, Fredserva, Khromov, Bronsonquick, Dashaluna, Mehigh, Sc0ttkclor
Tags: shortcodes
Nécessite au moins: 4.5
Testé jusqu'à: 5.0.3
Étiquette stable: 0.7.4
Licence: GPLV2 ou version ultérieure
Licence URI: http://www.gnu.org/licenses/gpl-2.0.html
Le shortcake fait de WordPress Shortcodes un morceau de gâteau.
Description
Utilisé aux côtés de add_shortcode
, Shortcake fournit une interface conviviale pour l'ajout d'un shortcode à un message, et de le visualiser et de le modifier à partir de l'éditeur de contenu.
Une fois que vous avez installé le plugin, vous devrez enregistrer l'interface utilisateur pour vos codes Short. Pour l'inspiration, consultez des exemples de shortcake dans la nature.
Pour signaler des bogues ou des demandes de fonctionnalités, veuillez utiliser les problèmes GitHub.
Installation
Shortcake peut être installé comme tout autre plugin WordPress.
Une fois que vous l'avez fait, vous devrez enregistrer l'interface utilisateur pour votre code.
Nouveau en 0.4.0 est la possibilité d'attacher des fonctions JavaScript aux mises à jour d'attribut d'événements. Les crochets d'action peuvent être utilisés pour afficher ou masquer dynamiquement un champ en fonction de la valeur d'une autre ou pour implémenter des règles de validation personnalisées.
Questions fréquemment posées
Comment enregistrer l'interface utilisateur pour les paires de clés / valeur arbitraires en tant qu'attributs de raccourcis?
Shortcake ne prend pas en charge la clé personnalisée => les paires de valeurs sous forme d'attributs de shortcode car ce n'est pas une excellente expérience utilisateur.
Après la mise à niveau vers le shortcake 0.7.x, certains des champs d'interface utilisateur de shortcode (Sélection du post, sélection de l'utilisateur, etc.) ne fonctionnent pas comme prévu. Que puis-je faire?
Dans la version 0.7.0, nous avons mis à jour vers la branche la plus récente de la bibliothèque Select2, qui fournit les champs de sélection améliorés de ces types de champs. Cela provoque un conflit connu avec les plugins qui enièrent des versions plus anciennes de Select2. (Les plugins populaires avec des conflits connus incluent WooCommerce et Advanced Custom Fields Pro, entre autres.)
Si vous constatez que vous rencontrez des conflits avec ces plugins, vous pouvez définir un drapeau pour charger SELECT2 dans un espace de noms distinct en définissant la constante SELECT2_NOCONFLICT
dans votre WP-Config.php (ou partout qui est défini avant le crochet 'init'.)
define( 'SELECT2_NOCONFLICT', true );
Tests en cours d'exécution
Nous avons une couverture de test pour PHP à l'aide de PHPUnit et JavaScript en utilisant Jasmine.
Exécution des tests localement
Les tests de jasmin peuvent être exécutés à l'aide de grunt jasmine
et sont également exécutés dans le cadre de la tâche grunt scripts
. Pour mettre à jour les fichiers WordPress principaux utilisés par la suite de tests Jasmine, exécutez grunt updateJasmineCoreScripts --abspath="/path/to/wordpress-install"
.
Captures d'écran
1. Sans shortcake, les shortcodes ont une interface utilisateur minimale.
2. Mais avec Shortcake, TinyMce rendra le shortcode en vue TinyMce.
3. Et ajoutez une interface utilisateur conviviale pour modifier le contenu et les attributs de shortcode.
4. Ajoutez de nouveaux shortcodes à votre message via "Ajouter des médias".
Avis de mise à niveau
0.4.0
Nous avons supprimé le cale de compatibilité pour l'argument d'attribut placeholder
. Vous devez enregistrer un espace réservé à votre champ à l'aide de l'argument meta
.
0.3.0
Nous avons supprimé la cale de compatibilité pour l'attribut content
magique. Si vous l'utilisiez pour prendre en charge l'édition de contenu intérieur, vous devrez modifier votre enregistrement d'interface utilisateur pour utiliser inner_content
.
Changelog
0.7.4 (16 janvier 2019)
- Compatibilité de l'éditeur de blocs: empêchez les modèles d'être sortis avant la tête du document, ce qui a forcé le navigateur à QuirksMode, brisant certains styles CSS dans l'éditeur de blocs.
- Correction de bug: le bugfix ci-dessus.
- Correction de bogue: corrigez une erreur JavaScript qui entraînerait une erreur de post-élément d'insertion si un shortcode contient un champ de sélection sans options visibles et sans défaut par défaut.
- Correction de bogue: corrigez un bug où le bouton "Sélectionner des fichiers" dans le contrôleur multimédia est devenu insensible après l'insertion d'un élément de poste.
- Amélioration: Ajoutez un attribut de champ "Autoriser Clear" en option à être passé aux champs SELECT2 (publication, utilisateur ou sélection de terme) afin que les champs multi-sélections puissent être effacés en un seul clic. (Cette option est désactivée par défaut et ne doit pas affecter les champs existants.)
0,7,3 (5 septembre 2017)
- Sécurité: Utilisez la validation non -ce dans AJAX Rendre le rappel Shortcode pour protéger contre le CSRF.
- Correction de bugs: assurez-vous que les mêmes crochets JS tirent sur tous les types de champs.
- Correction de bugs: corrigez les bogues affectant plusieurs champs de sélection (les valeurs ne peuvent pas être inférieures une fois définies, et plusieurs valeurs par défaut ne peuvent pas être définies).
- Correction de bugs: empêchez les champs codés contenant deux pour cent de caractères de se casser.
- Correction de bogues: résoudre certains problèmes où l'état modal des médias n'a pas été correctement réinitialisé si un shortcode était fermé sans enregistrer.
- Correction de bugs: prends en charge les cas où il y a plusieurs instances WP_Editor sur une page et assurez-vous que le raccourci en cours de modification est envoyé à la page correcte.
- Amélioration: lorsque le champ Post_Select sélectionne parmi plus d'un type de publication, affichez le type de publication à côté du nom de message pour une sélection plus facile.
- Amélioration: affichez des vignettes de l'attachement pour tout type d'attachement, pas seulement des images.
- Amélioration: ajoutez des messages d'erreur plus utiles si aucun shortcodes avec l'interface utilisateur de shortcake n'est enregistré.
- Mettre à jour la traduction norvégienne
0.7.2 (24 avril 2017)
- Correction de bug: Correction du comportement dans WordPress 4.7.4 où l'édition d'un shortcode insérait un nouveau raccourci dans l'éditeur plutôt que de mettre à jour le raccourci en cours d'édition.
- Correction de bogues: le remplacement utilisé pour échapper au pourcentage de caractères (%) dans les attributs n'a remplacé que la première apparence
- Correction de bug: pour sélectionner les champs avec plusieurs = true, permettez à plusieurs options d'être sélectionnées par défaut
- Ajout de i18n pour toutes les chaînes dans le modèle de champ de fixation
- Traduction finlandaise ajoutée
0.7.1 (16 mars 2017)
- Modifiez le formatage des raccourcis pour ajouter un espace avant la barre d'auto-fermer la barre oblique.
- Correction de l'alignement des aperçus de la pièce jointe avec de longs noms de fichiers.
- Correction de bogue: définissez une valeur initiale sur les champs de sélection (auparavant, aucune valeur ne serait définie pour un champ de sélection, sauf si l'utilisateur interagit avec le champ).
- Amélioration / correction: réutilisez une copie du modal multimédia et réinitialisez son état à la fermeture, plutôt que de créer un balisage en double chaque fois que le modal est accessible.
- Compatibilité: utilise la version "complète" de Select2.js 4.0.3 pour empêcher les conflits de plugins avec d'autres plugins qui s'attendent à ce que la version complète soit en cours.
- Compatibilité: Ajoutez un indicateur
SELECT2_NOCONFLICT
pour charger SELECT2 dans un espace de noms unique pour éviter les conflits avec d'autres plugins qui chargent SELECT2.js version 3. - Ajout de la traduction norvégienne.
- Correction de style de codage multiple.
0.7.0 (18 novembre 2016)
- Ajoute le bouton "Ajouter un élément post" aux boutons de média - un cliquez pour ouvrir la liste des raccourcis, plutôt que de cliquer sur le bouton "Ajouter des médias", puis de trouver "Insérer un élément de publication" dans le menu.
- Ajout du type de champ "Term Select".
- Ajout du type de champ "Sélectionner" User ".
- Ajout de nouveaux crochets qui tirent sur le rendu / édition / la fermeture d'un shortcode, qui peut être utilisé pour les types de champs qui nécessitent une initialisation ou un nettoyage JavaScript personnalisés.
- SELECT FIELDS: Ajoutez une prise en charge complète pour plusieurs champs de sélection.
- Sélectionnez Fields: Prise en charge de la commande personnalisée des options.
- Sélectionnez Fields: Prise en charge de l'option de regroupement dans
<optgroup>
S en les faisant passer en tant que tableau imbriqué. - Champs d'attachement: prends en charge la sélection multiple.
- Tiles de pièce jointe: Prise en charge des images SVG (si les téléchargements SVG sont activés par un plugin ou un thème).
- Correction de bug: gérer les signes en pourcentage lors du décodage des champs avec
encode=true
spécifié. - Correction de bugs: corrigez le problème où il faut deux clics sur un shortcode dans l'éditeur pour afficher le modal d'édition de shortcode.
- Correction de bogue: corrigez le problème lors de la recherche de shortcodes par son nom où si plusieurs raccourcis commencent par la chaîne de recherche, seul le premier est renvoyé.
- Correction de bug: Sortie uniquement un champ de description sur un attribut s'il n'est pas vide.
- Compatibilité: supprimez des cales pour gérer le modal du support dans WP 4.1 et 4.2.
- Compatibilité: mise à niveau de la bibliothèque SELECT2 vers 4.0.3 pour éviter les conflits avec d'autres plugins qui utilisent la dernière version de Select2.
- Ajout de la traduction turque.
- Ajout de la traduction finlandaise.
- Ajout de la traduction suédoise.
- Ajout de la traduction hongroise.
0.6.2 (12 novembre 2015)
- Correction de bogues: écoute l'événement "Modifier" sur les boutons radio et les cases à cocher pour garantir que les attributs de raccourcis sont mis à jour.
- Correction de bug: garantit que
register_shortcode_ui
est toujours exécuté avant d'appeler get_shortcodes (). Correction du post Sélectionnez le rappel AJAX lors de l'utilisation du crochet register_shortcode_ui
.
0.6.1 (9 novembre 2015)
- Corrige JavaScript TypeError lors de la clic des éléments du menu du trame multimédia.
- Corrige les liens dans Readme.
0.6.0 (2 novembre 2015)
- Prend en charge un argument
encode=true
pour les attributs facultatifs, pour permettre une prise en charge HTML limitée. Les attributs doivent être exécutés via shortcode_atts()
afin d'être correctement décodés. - Définit une constante
SHORTCODE_UI_DOING_PREVIEW
lors de la rendu d'un aperçu de Shortcode, qui permet aux rappels de servir une représentation différente du shortcode dans TinyMCE. - Lorsqu'une pièce jointe est déjà sélectionnée pour un attribut shortcode, l'ouverture de la bibliothèque multimédia l'inclura sélectionnée.
- Alignement vertical de l'icône nettoyée dans l'insertion de l'élément d'insertion de l'interface utilisateur.
- Ajout de classes d'utilité CSS à tous les champs de champ. Par exemple, le champ de fixation est désormais enveloppé de
shortcode-ui-field-attachment
. - Ajout de filtres pour modifier les arguments d'interface utilisateur de shortcode sur l'enregistrement.
- Nettoyé l'exemple de plugin, c'est donc une référence de développeur beaucoup plus utile.
- Utilise le regex JavaScript de Core pour l'analyse des shortcodes, au lieu de maintenir un regex séparé.
- Permet HTML dans les étiquettes et descriptions de champ.
- Ajout de la traduction danoise.
- Ajout de la traduction italienne.
- Ajout de la traduction allemande.
- Intégration de base: prend en charge entièrement PHP 5.2.
- Correction de bogues: persiste les attributs de raccourcis et le contenu intérieur lorsqu'il n'y a pas d'interface utilisateur pour eux. Auparavant, ils seraient jetés.
- Correction de bogue: affichez la description du champ Post Select.
- Correction de bug: L'événement de changement de champ d'attribut se lie à l'événement
input
plutôt qu'à keyup
. - Notes de libération complète
0.5.0 (26 août 2015)
- Champ de fixation: facilite la modification de la pièce jointe en cliquant sur la vignette; Ajout des métadonnées de fixation dans la vue sur le terrain.
- Champ d'attachement: JavaScript refactorisé pour déclencher des événements.
- Ajout d'un type d'entrée de
range
. - A introduit un crochet
register_shortcode_ui
pour les plugins pour enregistrer plus en toute sécurité l'interface utilisateur. - Entièrement l'onglet Aperçu pour rapprocher l'expérience utilisateur de Shortcake de Core, dans lequel l'aperçu visuel en ligne est préféré à un aperçu séparé dans le modal multimédia.
- Nettoyé JavaScript à l'aide de jshint.
- Ajout de la traduction russe.
- Ajout de la traduction portugaise.
- Ajout de PHPDOC à toutes les classes.
- Correction de bug: persiste
inner_content
pour un shortcode même lorsque l'interface utilisateur n'est pas définie. - Correction de bogues: la frappe d'ESC dans une vue de shortcake fermera désormais le modal. (Fixé dans le noyau.)
- Correction de bogues: Hitting Supprimer lorsqu'un aperçu de Shortcake est sélectionné dans l'éditeur visuel entraîne désormais la suppression du shortcode. (Fixé dans le noyau.)
- Correction de bogues: la fonction de «recherche» de shortcake n'est plus visuellement en conflit visuellement avec la grille de raccourcis à petite taille d'écran. (Fixé dans le noyau.)
- Correction de bug: utilisez
get_post_type()
au lieu de get_current_screen()->post_type
, donc le contexte est correctement défini sur le frontend. - Notes de libération complète
0.4.0 (22 juin 2015)
- Utiliser Carldanley / WP-JS-Hooks pour une API de base pour enregistrer les rappels JS sur les attributs de shortcode.
- Le champ de fixation utilise un indicateur de chargement lorsque l'aperçu pour une pièce jointe est le chargement.
- Ajout de la traduction chinoise.
- Ajout de la traduction française.
- Ajout de la traduction espagnole.
- Correction de bogues: empêche le fatal lorsque l'éditeur est chargé dans le contexte du frontend.
- Correction de bugs: le champ de couleur prend également en charge l'argument
meta
. - Correction de bogues: supprime les espaces de fuite de shortcodes sans attributs.
- Correction de bugs: supprime la double slash dans le chemin de l'éditeur CSS.
- Notes de libération complète
0.3.0 (27 avril 2015)
- Breaking Change : nous avons supprimé la cale de compatibilité pour l'attribut
content
magique. Si vous l'utilisiez pour prendre en charge l'édition de contenu intérieur, vous devrez modifier votre enregistrement d'interface utilisateur pour utiliser inner_content
. - Nouveau type de champ
post_select
pour sélectionner dans une liste de messages. Prend en charge un paramètre query
supplémentaire pour modifier la requête de recherche. - À l'aide d'un nouvel argument
post_type
, l'interface utilisateur de Shortcode peut être enregistrée pour des types de publication spécifiques. Ceci est utile si vous souhaitez que l'interface utilisateur pour un shortcode donné n'apparaît que sur des types de messages spécifiques. - Pour chaque attribut Shortcode, un argument
meta
peut être spécifié pour ajouter des attributs HTML arbitraires au champ. Nous avons ajouté une cale de compatibilité pour l'argument placeholder
existant. Cette cale de compatibilité sera supprimée dans V0.4. - Lors de l'insertion d'un shortcode, l'interface utilisateur affiche un message utile lorsque le shortcode n'a pas d'attributs à configurer. Auparavant, l'utilisateur a été présenté avec un écran relativement vide.
- Notre exemple de plugin peut être activé via l'administrateur WordPress.
- Cliquez sur "Insérer un élément de post" dans le menu de gauche agit efficacement comme le bouton arrière pour sélectionner un shortcode.
- La langue autour de l'expérience d'édition reflète le shortcode que vous modifiez. Par exemple, avec un shortcode PullQuote, "Edit élément post" devient "Edit PullQuote".
- Ajout de la traduction néerlandaise.
- Les fichiers JavaScript source sont passés à
js/src
pour plus de clarté entre la source et la construction JavaScript. - Les fichiers PHP sont analysés à l'aide de PHP_CODESNIFFER.
- Correction de bug: les attributs de raccourcis non pris en charge sont correctement pris en charge.
- Correction de bogue: le champ de pièce jointe enregistre correctement les dépendances.
- Correction de bogues: "Insérer l'expérience de l'élément post" doit fonctionner lorsque l'éditeur visuel est désactivé. Le shortcake n'est que vaguement couplé à TinyMCE.
- Correction de bugs: les styles d'éditeur sont chargés sur
after_setup_theme
pour éviter les mutales. - Notes de libération complète.
0.2.3 (8 avril 2015)
- Corrigez le problème de compatibilité WP 4.1 en rétablissement en rétablissant les arguments transmis à TinyMce View Compatibilité CHEM.
0.2.2 (6 avril 2015)
- Mettre à jour les arguments transmis à TinyMCE View Render pour la compatibilité WP 4.2. L'argument précédemment passé n'était pas nécessaire, donc la suppression ne casse pas la compatibilité en arrière.
0.2.1 (18 mars 2015)
- Assurez-vous que l'utilisation de jQuery respecte le mode jQuery.NoConflict () dans WP.
0.2.0 (18 mars 2015)
- JS abstrait à l'aide de la navigation.
- Améliorations à "Ajouter un élément post" UI: shortcodes trié par ordre alphabétique; Recherche basée sur l'étiquette.
- Beaucoup plus facile à sélectionner les aperçus de shortcode qui incluent les iframes.
- WordPress 4.2 Compatibilité.
- Ajout de sélecteur de couleurs à la liste des champs potentiels.
- Correction de bugs: compatibilité IE11.
- Correction de bogues: le champ de la case à cocher peut désormais être non contrôlé.
- Notes de libération complète.
0.1.0 (23 décembre 2014)
- Prend en charge tous les types d'entrée HTML5 pour les champs de formulaire.
- Onglet d'aperçu de Shortcode dans l'expérience d'édition. } * A rééquilibré l'interface utilisateur autour de «Post Elements», qui est plus descriptif que les «éléments de contenu».
- De nombreux corrections de bogues.
- Notes de libération complète.