WordPress и TinyMCE редактор - удалить стили при вставке таблицы
На WordPress стоит дефолтный редактор TinyMCE.
Возникла задача добавить кнопку вставки таблицы.
Есть плагины, например:
https://wordpress.org/plugins/mce-table-buttons/
и разные способы:
По сути, просто расширяют функционал редактора TinyMCE, добавляя опцию, которая в нём и есть, только не по дефолту.
Но там проблема. Если мы вставляем таблицу по этой кнопке, то в html дописываются ненужные стили, свойства:
<table style="border-collapse: collapse; width: 100%;" border="1">
<tbody>
<tr>
<td style="width: 33.3333%;"></td>
<td style="width: 33.3333%;"></td>
<td style="width: 33.3333%;"></td>
</tr>
<tr>
<td style="width: 33.3333%;"></td>
<td style="width: 33.3333%;"></td>
<td style="width: 33.3333%;"></td>
</tr>
<tr>
<td style="width: 33.3333%;"></td>
<td style="width: 33.3333%;"></td>
<td style="width: 33.3333%;"></td>
</tr>
</tbody>
</table>
Которые приходятся потом удалять. Задача упростить, а, наоборот, приходится тратить время.
Это сам редактор чудит, или на WordPress так?
Подскажите, пожалуйста, что придумать? Нужна просто кнопка - выбрал количество столбцов и ячеек, вставил код.
Ответы (1 шт):
Нашёл решение. Чтобы удалялись ненужные стили таблиц, необходимо в functions.php темы добавить следующий код:
function tinymce_fix_table_styles() {
echo '<script>jQuery(function($){
if (typeof tinymce !== "undefined") {
tinymce.overrideDefaults({
table_default_attributes:{},
table_default_styles:{}
});
}
});</script>';
}
add_action('admin_footer', 'tinymce_fix_table_styles');
Если не сработало, есть еще такой вариант (использовать отдельно):
function mce_settings( $settings ) {
$settings['table_default_styles'] = false;
$settings['table_default_attributes'] = false;
return $settings;
}
add_filter( 'tiny_mce_before_init', 'mce_settings' );
