WordPress и TinyMCE редактор - удалить стили при вставке таблицы

На WordPress стоит дефолтный редактор TinyMCE.

Возникла задача добавить кнопку вставки таблицы.

Есть плагины, например:

https://wordpress.org/plugins/mce-table-buttons/

и разные способы:

https://webistore.ru/cms/wordpress/kak-vstavit-knopku-tablicu-v-visualniy-redactor-wordpress-bez-plaginov/

По сути, просто расширяют функционал редактора 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' );
→ Ссылка