web-dev-qa-db-fra.com

Valeur de l'attribut Shortcode avec tiret (trait d'union)

Est-il prudent d'utiliser un trait d'union dans la valeur de l'attribut shortcode?

Par exemple:

[foo something="fo-bar"]
3
Toniq

tl; dr; Le tiret (trait d'union) - peut être utilisé en toute sécurité dans le shortcode valeurs d'attribut .


Règles pour les valeurs d'attribut Shortcode:

Pour shortcode valeurs d'attribut , tout autre que ce qui suit four est généralement correct:

  1. Il ne devrait pas y avoir de crochets [ ou ], par exemple. [foo bar='baa]z']
  2. Il ne devrait pas y avoir de devis unique dans devis unique, par exemple. [foo bar='baa'z']
  3. Il ne devrait pas y avoir de guillemet double entre guillemets, par exemple. [foo bar="baa"z"]
  4. La barre oblique \ sera échappée.

Ainsi, les exemples suivants de valeurs d'attributs de shortcode conviennent parfaitement:

// dash or hyphen is fine
[foo bar='baa-z']
// Double quote within single quote is fine
[foo bar='baa"z']
// single quote within double quote is fine
[foo bar="baa'z"]
// space is fine
[foo bar='baa z']
// use double back slash to get single back slash 
[foo bar='baa\\z'] 

Citation de codex :

Les valeurs d'attribut ne doivent jamais contenir les caractères suivants:

Accolades carrées: [ ]

Cours: " '

Les valeurs non citées ne doivent jamais non plus contenir d'espaces.

Les caractères HTML < et > n'ont qu'un support limité en attributs.

Le codage HTML est la méthode recommandée pour éviter les caractères spéciaux dans les attributs de shortcode. Plus important encore, toute entrée utilisateur apparaissant dans un attribut de code court doit être échappée ou dépourvue de caractères spéciaux.

Notez que les guillemets doubles sont autorisés à l'intérieur des valeurs entre guillemets simples et inversement, mais cela n'est pas recommandé lorsque vous utilisez une entrée utilisateur.

Les caractères suivants, s'ils ne sont pas échappés dans une valeur d'attribut, seront automatiquement supprimés et convertis en espaces:

No-break space: \xC2\xA0

Espace zéro largeur: \xE2\x80\x8B

7
Fayaz