web-dev-qa-db-fra.com

WordPress 3.9 - Problèmes d'édition de nouveaux TinyMCE

Avec WordPress 3.9 à venir, TinyMCE 4.0 est arrivé. J'exécute mes plugins et fonctions à travers quelques tests et j'ai constaté qu'une de mes fonctions semblait cassée/ne fonctionnait pas avec le nouveau tinyMCE

function myformatTinyMCE( $in )
{
    $in['theme_advanced_buttons1'] = 'bold';
    $in['theme_advanced_buttons2'] = 'formatselect';
    $in['wordpress_adv_hidden'] = false;
    return $in; 
}
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );

La fonction ci-dessus permettait de limiter les boutons de la tinyMCE à des boutons spécifiques. Je l'ai un peu simplifiée pour faciliter les tests. Si j'imprime $in, il affiche les valeurs correctes aux emplacements corrects, mais lorsque je charge une page, les boutons normaux apparaissent par défaut.

J'ai également essayé d'utiliser l'exemple du TinyMCE Codex qui, lui aussi, n'a apparemment eu aucun effet.

J'utilise le WordPress Beta Tester Plugin et j'ai TinyMCE Advanced installé mais désactivé.

Avec le nouveau TinyMCE, comment puis-je continuer à utiliser/personnaliser et existe-t-il des "Gotchas" qui ont changé par rapport à la version précédente de TinyMCE?

EDIT

On dirait que $in['wordpress_adv_hidden'] = false; n'est plus utilisé - Aucune idée de la façon de dévoiler l'évier de cuisine.

8
Howdy_McGee

La chaîne était nouvelle, pas plus pour vos besoins.

Ceci est le nouveau contenu du crochet.

array (
  'selector' => '#content',
  'resize' => 'vertical',
  'menubar' => false,
  'wpautop' => true,
  'indent' => false,
  'toolbar1' => 'template,|,bold,italic,strikethrough,bullist,numlist,blockquote,hr,alignleft,aligncenter,alignright,link,unlink,wp_more,spellchecker,wp_fullscreen,wp_adv',
  'toolbar2' => 'formatselect,underline,alignjustify,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help',
  'toolbar3' => '',
  'toolbar4' => '',
  'tabfocus_elements' => 'insert-media-button,save-post',
  'body_class' => 'content post-type-post post-status-draft post-format-standard',
)

Modifiez également les chaînes à l'intérieur du tableau dans votre source en:

function myformatTinyMCE( $in ) {

    $in['toolbar1'] = 'bold';
    $in['toolbar2'] = 'formatselect';

    return $in; 
}
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );

Mais voyez aussi ce plugin de test Gist 9758082 et ce fil de discussion pour WP 3.9 et le nouveau TinyMCE 4.0 pour comprendre le sujet.

Forcer Toolbar2

Pour afficher toujours la barre d’outils 2, sans utiliser le bouton wp_adv, ajoutez la source suivante à un plugin.

add_action( 'plugins_loaded', 'fb_force_show_toolbar2' );
function fb_force_show_toolbar2() {
    set_user_setting( 'hidetb', 1 );
}

MAIS, maintenant le conseil pour la valeur wordpress_adv_hidden. Dans la prochaine version de WordPress, après la version 3.9, l'ancien crochet wordpress_adv_hidden sera rétabli pour basculer la barre d'outils, voir ticket 27963 . Ensuite, il est possible d'utiliser la source suivante. $in['wordpress_adv_hidden'] = FALSE;

add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );
function myformatTinyMCE( $in ) {

    $in['wordpress_adv_hidden'] = FALSE;

    return $in; 
}
6
bueltge

Un changement est que:

theme_advanced_buttons1 va être changé en:

toolbar1 qui vous permet de mettre à jour les boutons afin que ma nouvelle fonction ressemble à ceci:

function myformatTinyMCE( $in ) {
    $in['toolbar1'] = 'bold';
    $in['toolbar2'] = 'formatselect';
    return $in; 
}
add_filter( 'tiny_mce_before_init', 'myformatTinyMCE' );

De plus, il semble que formatselect ne soit pas vraiment favorisé dans cette itération. Devrait probablement être converti en styleselect car cela permet plus d'options et de personnalisations (telles que les styles imbriqués) et un design plus minimaliste.

Les options d’alignement des autres gotcha is sont passées de justify à align, comme suit: alignleft, aligncenter, alignright, alignjustify.

6
Howdy_McGee