WordPress のエディタ (TinyMCE) に、Excel の表をクリップボード経由でコピー&ペーストすると、表形式のまま貼り付けされます。
スピーディーに表を作成することができて便利な機能です。
テーブル (table) タグで貼り付けされるのですが、テーブルおよびセル (td) に width 属性が付加されています。
レスポンシブにするため、この width 属性が妨げになる場合があります。TinyMCE Advanced プラグインで簡単に削除することはできるのですが、頻繁に使用する場合はかなり面倒です。
width 属性の自動削除
そこで、貼り付け時に自動で削除する方法を紹介します。
下記のコードをテーマの functions.php に追記します。
function my_tiny_mce_before_init( $init ) {
$init['paste_preprocess'] = <<<SCRIPT
function(plugin, args) {
var content = jQuery('<div>' + args.content + '</div>');
content.find('table,td').removeAttr('width');
args.content = content.html();
}
SCRIPT;
return $init;
}
add_filter( 'tiny_mce_before_init','my_tiny_mce_before_init' );
これで、ペースト時にテーブル (table) およびセル (td) の width 属性が削除されます。
最後に
これにより、表作成の作業負荷の軽減と作業ミスをなくすことができます。ぜひ参考にしていただければと思います。