Comment modifier les options de dialogue de l'éditeur d'image sur WordPress?


8

J'essaie de masquer les boutons radio Alignement pour les images téléchargées dans la zone de contenu de la publication, mais je ne sais pas comment ajouter un fichier CSS ou JS personnalisé à la boîte de dialogue Éditeur d'images.

J'ai réussi à ajouter un filtre au crochet d'action tiny_mce_before_init pour supprimer les boutons d'alignement de l'éditeur de texte TinyMCE, mais je ne sais pas comment faire de même avec l'éditeur d'image.

entrez la description de l'image ici

J'ai essayé un hack jQuery, mais cela ne semble pas prendre:

$('.mceWrapper iframe').load( function() {
    $(this).contents().find('tr.align').hide();
});

IIRC que iframe ne contient pas jQuery, cela peut être le problème.
NoBugs

Comme il s'agit d'un plugin tinyMCE afaik, il n'y a aucun moyen de filtrer la sortie. Vous auriez besoin de remplacer le plugin (plugin tinyMCE, pas le plugin WordPress qui est) par un personnalisé. Jetez un œil à un article similaire sur stackoverflow: Personnalisation du widget d'édition d'image WP
kraftner

De plus, il semble que le plugin wpeditimage tinyMCE est actuellement en cours de travail intensif, vous voudrez peut-être jeter un œil aux modifications en attente dans WordPress Make
kraftner

Réponses:


2

En le regardant en détail, il semble que vous ne pouvez pas modifier l'éditeur d'image uniquement dans certains détails. La seule chose que vous pouvez faire est de remplacer l'éditeur d'image par une copie légèrement modifiée. Je vais expliquer brièvement comment cela peut être fait.

Mais avant cela, un mot d'avertissement. L'Editeur d'images est actuellement (2/2014) travaillé, donc cette solution ne fonctionnera probablement pas à partir de la prochaine version de WordPress sans autre modification.

Une dernière note: il serait préférable que vous mettiez cela dans un plugin et non dans votre thème. Quoi qu'il en soit, pour raccourcir cette réponse, j'explique comment mettre cela dans votre thème.

1. Supprimer l'éditeur d'images par défaut

add_filter( 'tiny_mce_plugins', 'remove_wpeditimage', 10, 2 );

function remove_wpeditimage($plugins){
    if(($key = array_search('wpeditimage', $plugins)) !== false) {
        unset($plugins[$key]);
    }
    if(($key = array_search('teeny_mce_plugins', $plugins)) !== false) {
        unset($plugins[$key]);
    }
    return $plugins;
}

2. Copiez et modifiez l'éditeur d'image

Copiez wp-includes / js / tinymce / plugins / wpeditimage dans votre dossier de thème.

Modifiez-le comme vous le souhaitez. Le moyen le plus simple de se débarrasser des options d'alignement serait de changer la ligne 55 de

<tr class="align">

à

<tr class="align" style="display:none;">

3. Ajoutez l'éditeur d'image modifié

add_filter('mce_external_plugins', 'add_customized_wpeditimage');

function add_customized_wpeditimage($plugins) {
    $plugins[ 'wpeditimage' ] = get_template_directory_uri() . '/wpeditimage/editor_plugin.js';
    return $plugins;
}

-1

La fonction que vous recherchez pour ajouter du CSS à l'éditeur MCE s'appelle add_editor_style . J'ai essayé de le faire fonctionner, mais un hack rapide de cinq minutes n'a pas fonctionné pour moi. Selon le codex, c'est la bonne façon de le faire.


-1

Vous pouvez simplement le cacher avec votre CSS. Si votre thème a un fichier css pour votre tableau de bord administrateur (pour les formulaires personnalisés, etc.), ajoutez-le simplement à ce fichier;

#img-edit tr.align { display:none; }

Si votre thème n'a pas de fichier CSS pour le tableau de bord d'administration, vous pouvez le mettre à la functions.phpplace dans le fichier de vos thèmes ;

add_action( 'admin_head', 'so4513579_hide-img-alignment' );

function so4513579_hide-img-alignment() {
    echo "<style> #img-edit tr.align { display:none; } </style>";
}

Notez que la valeur d'alignement sera toujours enregistrée telle qu'elle était avant la modification.


Cela ne fonctionne pas car le CSS n'est pas ajouté à l'iframe du plugin wpeditimage tinyMCE mais à l'écran d'édition parent.
kraftner
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.