WordPress 3.9 - Problème de modification du nouveau TinyMCE

9

Avec WordPress 3.9 qui arrive bientôt, il apporte TinyMCE 4.0. J'exécute mes plugins et fonctions à travers certains tests et j'ai constaté qu'une de mes fonctions semble cassée / ne fonctionne 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 utilisée pour limiter les boutons dans le tinyMCE à des boutons spécifiques, je l'ai un peu simplifiée pour la rendre plus facile à tester. Si j'imprime, $inil affiche les valeurs correctes aux bons endroits, mais lorsque je charge une page, elle revient par défaut aux boutons normaux.

J'ai également essayé d'utiliser l'exemple dans le Codex TinyMCE qui ne semblait pas non plus avoir d'effet.

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

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

ÉDITER

On dirait que ce $in['wordpress_adv_hidden'] = false;n'est plus utilisé - Aucune idée de comment afficher l'évier de cuisine.

Howdy_McGee
la source

Réponses:

7

Les cordes étaient nouvelles, 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 pour WP 3.9 et le nouveau TinyMCE 4.0 pour comprendre le sujet.

Forcer la barre d'outils2

Pour afficher toujours la barre d'outils 2, sans utiliser le bouton wp_advajoutez la source de suivi à un plugin.

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

MAIS, maintenant l'indice de la valeur wordpress_adv_hidden. Dans la prochaine version de WordPress, après 3.9 restaurera l'ancien crochet wordpress_adv_hiddenpour basculer la barre d'outils, voir ticket 27963 . Il est alors 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; 
}
bueltge
la source
Il n'y a donc pas à dévoiler "l'évier de la cuisine" (barre d'outils 2)?
Howdy_McGee
Qu'est-ce que l'évier de cuisine?
bueltge
Toolbar2, wp_adv- affiche la barre d'outils 1 et la barre d'outils 2 par défaut. Avant, vous pouviez faire cela $in['wordpress_adv_hidden'] = false;qui ne fonctionne plus.
Howdy_McGee
Ah ok. Maintenant, j'ai ajouté la source à ma réponse pour forcer la barre d'outils2.
bueltge
1
@Howdy_McGee Je viens de lire dans Make WordPress Core que le paramètre d'évier de cuisine devrait revenir dans 3.9.1 très bientôt.
helgatheviking
6

Un changement est que:

theme_advanced_buttons1 va être changé en:

toolbar1 ce qui vous permet de mettre à jour les boutons pour que ma nouvelle fonction ressemble à quelque chose comme:

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

De plus, il semble que ce formatselectne soit pas vraiment le cas dans cette itération. Devrait probablement être converti en styleselectcar il permet plus d'options et de personnalisations (comme les styles imbriqués) et va également avec un design plus minimaliste.

Une autre Gotcha est des options d'alignement ont été modifiés par rapport justifyà aligncomme ceci: alignleft, aligncenter, alignright, alignjustify.

Howdy_McGee
la source