如何在WordPress上修改图像编辑对话框选项?

时间:2013-11-21 作者:handstand

我试图隐藏上传到帖子内容区域的图像的对齐单选按钮,但不知道如何向图像编辑器对话框添加自定义CSS或JS文件。

我已经成功地在tiny\\u mce\\u before\\init操作挂钩中添加了一个过滤器,以从TinyMCE文本编辑器中删除对齐按钮,但我不确定如何使用图像编辑器执行相同操作。

enter image description here

我尝试过jQuery黑客,但似乎不需要:

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

3 个回复
SO网友:kraftner

仔细看,似乎您无法仅在某些细节上更改图像编辑器。唯一可以做的就是用稍微修改过的副本替换图像编辑器。我将很快解释如何做到这一点。

But before that a word of warning. The Image Editor is currently (2/2014) worked on, so this solution probably won\'t work from the next WordPress version on without further modification.

最后一点:如果你把它放在插件中而不是主题中,那会更好。总之,为了缩短这个答案,我解释了如何把这个放在你的主题中。

1。删除默认图像编辑器

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。将图像编辑器复制并更改到主题文件夹中。

按你喜欢的方式改变它。摆脱路线选项的最简单方法是将第55行从

<tr class="align">

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

3。添加更改的图像编辑器

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;
}

SO网友:BenFreke

您正在寻找的将CSS添加到MCE编辑器的函数称为add_editor_style. 我曾尝试过让它工作,但五分钟的快速破解对我来说不起作用。根据法典,这是正确的做法。

SO网友:Michael Ruta

你可以用CSS隐藏它。如果你的主题有一个用于管理仪表板的css文件(用于自定义表单等),那么只需将其添加到该文件中即可;

#img-edit tr.align { display:none; }
如果你的主题没有用于管理仪表板的CSS文件,那么你可以将其放在你的主题中functions.php 改为文件;

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

function so4513579_hide-img-alignment() {
    echo "<style> #img-edit tr.align { display:none; } </style>";
}
注意:对齐值仍将保存为编辑之前的值。

结束

相关推荐

EDIT_FORM_AFTER_EDITOR仅适用于编辑后页面

我想在后期编辑屏幕中显示一些信息。我找到了2个钩子,可以在标题或编辑器之后执行此操作。下面是第二个代码:add_action( \'edit_form_after_editor\', \'myprefix_edit_form_after_editor\' ); function myprefix_edit_form_after_editor() { global $post; $author_id=$post->post_author; $em