WordPress エディターに Excel の表を貼り付け

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 属性が削除されます。

最後に

これにより、表作成の作業負荷の軽減と作業ミスをなくすことができます。ぜひ参考にしていただければと思います。

コメントを残す

メールアドレスが公開されることはありません。

日本語でコメントを入力してください。(スパム対策)