J'utilise le code ci-dessous dans mon functions.php
pour pré-renseigner de nouveaux messages.
Cela fonctionne bien, sauf si j'utilise des entités (exemple: »
), qui sont converties (exemple: ") lorsque j'ouvre la page de modification d'un nouveau message.
Je préfère les garder non convertis.
add_filter( 'default_content', 'pu_default_editor_content' );
function pu_default_editor_content( $content ) {
global $post_type;
switch( $post_type ) {
case 'post':
$content = 'Default content for blog posts.';
break;
}
return $content;
}
Voici une version mise à jour de la fonction pu_default_editor_content()
qui tiendra compte du moment où un utilisateur aura désactivé Visual Editor (selon votre commentaire).
function pu_default_editor_content( $content ) {
global $post_type;
switch( $post_type ) {
case 'post' :
$content = 'Default content for blog posts. » » »';
$rich_editing = get_user_option( 'rich_editing', get_current_user_id() );
if ( 'false' === $rich_editing ) {
$content = htmlspecialchars( $content );
}
break;
}
return $content;
}
add_filter( 'default_content', 'pu_default_editor_content' );
L'utilisateur a Editeur visuel désactivésous Utilisateur> Profil .
Si Visual Editor est activé, ce qui correspond à la configuration par défaut, TinyMCE devra être configuré pour afficher les entités nommées. Le codage est appliqué par TinyMCE, mais ce comportement peut être personnalisé via le hook tiny_mce_before_init
. Merci à cette réponse pour le conseil.
Ajoutez des entités supplémentaires dont vous pourriez avoir besoin à la chaîne $settings['entities']
. La documentation sur le formatage est ici :
Cette option contient une liste de noms d'entités, séparés par des virgules, utilisés à la place de caractères. Les éléments impairs sont le code de caractère et les éléments pairs sont le nom du code de caractère.
// Custom configuration for TinyMCE
function wpse241282_tiny_mce_before_init( $settings, $editor_id ) {
// Used named encodings (the default setting in WordPress is raw).
// https://www.tinymce.com/docs/configure/content-filtering/#encodingtypes
$settings['entity_encoding'] = 'named';
// Default entities for TinyMCE: 38,amp,60,lt,62,gt1
// Additional entities: copy, reg, trade, service mark, euro, right angle quote, left angle quote
// The odd entires are the entity *number*, the even entries are the entity *name*. If the entity has no name,
// use the number, prefixed with a hash (for example, the service mark is "8480,#8480").
$entities = '169,copy,174,reg,8482,trade,8480,#8480,8364,euro,187,raquo,171,laquo';
if ( isset( $settings['entities'] ) && ! empty( $settings['entities'] ) ) {
$settings['entities'] .= ',' . $entities;
} else {
$settings['entities'] = $entities;
}
return $settings;
}
add_filter( 'tiny_mce_before_init', 'wpse241282_tiny_mce_before_init', 10, 2 );
add_filter( 'quicktags_settings', 'wpse241282_tiny_mce_before_init', 10, 2 );
L'utilisateur a Visual Editor enabledsous Utilisateur> Profil .