テーブル(表)の行を個別に移動するやり方

当ページの一部リンクにはプロモーションが含まれてます。
アイキャッチ画像

ブロックエディターは使い慣れてくるととても便利ですが、テーブル(表)に至っては修正やカスタマイズがかなり限られてくるブロックとも言えます。

たとえば個別に行を移動しようとしてもそう簡単には動いてくれません。
これが1行程度ならコピー&ペーストでなんとかしのげるんでしょうが、場合によっては5行も6行も個別に移動しなきゃならないケースだって往々にしてあります。

サイト管理人

旧エディター時代なら行の移動はちゃちゃっと済ませられたんですけどね。

そこでできるだけ簡単に行移動ができないかと日々考えていたら、旧エディター時代の技をそのまま利用すれば複数箇所の行移動も割とラクに行けるんじゃないかと。

今回はそんな行移動のカスタマイズ記事です。

こちらはSWELL限定の内容も含まれる汎用カスタマイズ記事です。

もくじ

1行程度ならコピペでも充分

当記事執筆時点で筆者が知る限りにおいてはブロックエディターで個別に行を移動できる”便利な機能”は見当たらないようです。
やるとしたら空白の行を新たに挿入してそこに移動したい行のセルの内容をセルごとに一つずつコピー&ペーストするとかでしょうか。

たとえば下のようなテーブル(表)で、「予定C」の列だけ「予定B」列の前に移動したいとします。

キャプチャ画像

まずはB列の上に空の列を挿入します。

キャプチャ画像

”予定C”を範囲指定してCtrlC(コピー)。
空白行の1列目をクリックしてCtrlV(ペースト)。
同様に”作業C”と”備考C”も同じやり方でコピー&ペースト。

キャプチャ画像

最後に「予定C」行を削除という流れでやれば行移動は完了です。
(筆者はこれ以外のやり方を知りません)

キャプチャ画像

1行だけの移動ならこれでもいいかもしれません。
しかしながらいくつもの行をそれぞれ別の位置に移動せざるをえない状況になった時に1個1個コピペでやるのはかなりの手間です。

さらにSWELLの機能の「tbodyの1列目をthに変換する」を使った場合はもうひと手間かかります。
この機能を使うと1列目のセルがthつまり見出し扱いになって自動的に太字になったり背景色が付いたりします。

キャプチャ画像

thとは「table header」の略で”header”という単語からわかるように見出し扱いのセルという意味です。
通常は最上段の行か左端の列がth(見出し)セルになります。

これに対し通常のセルはtd(「table data」の略)で、”data”という単語からわかるようにデータ(内容・コンテンツ)を格納するセルになります。

thがないテーブル(表)も存在しますが、tdセルの縦/横並びのいずれかにthがあれば、その見出し(th)に対応するデータ(td)という意味合いが付加されます。

またtbodyとはテーブル(表)の本体が格納されてるグループで、theadテーブル(表)のヘッダー部分をあらわします。
ということはtfootもあるわけでこちらはテーブル(表)のフッターエリアに該当します。

キャプチャ画像

この状態で「予定B」行の上に空の行を挿入し、”予定C”を範囲選択してコピー&空白行1列目にペーストしてみます。
するとペーストしたセルは”太字も背景装飾もなし”で表示されます。

これは空の行が装飾などのスタイルが付いてないtdセル(データ用セル)での挿入になるからです。
そこにthに変更されたセル内のテキストをコピーして貼り付けたところで結局はtd用のスタイル(ここでは装飾なし)が適用されるためテキストのみのコピー&ペーストのように見えるという仕組みです。

そしてこのセルを他の装飾と同じ見栄えにするには再度SWELLの機能を使ってthに戻してやる必要があります。

キャプチャ画像

ちなみにテキストそのものに装飾(下の例では赤文字)がかかってる場合は、セルがth(見出し)だろうとtd(データ)だろうとちゃんと反映されます。

キャプチャ画像

こんな感じで単純にコピー&ペーストすればいいケースだけでもないので、今回は旧エディター時代のやり方を使って一気に行の入れ替えを済ませるやり方をご紹介します。

そのやり方は簡単かと言われれば慣れない方には必ずしもそうとは言えないところがあるかもしれません。
ということでこんなやり方もあるよと参考程度に眺めていただくのがよろしいかと。

準備

使い勝手設置レベル
そこそこ便利手順がまあまあ多いので
作業工程・やや難
カスタマイズレベル

いくつか準備が必要です。といっても大したものはありません。

一つはテキストエディター
慣れた方ならWindowsのメモ帳でも充分ですが、慣れない方は「さくらエディター」などのテキストエディターをインストールしておくとよろしいかと。

あとはHTMLコードをインデント(字下げ)付きで見やすく整形してくれる「HTML Beautifier」や「Syncer」などのウェブサービス。
(ブックマークしておくと便利)

手順

ここでは先ほどのSWELLの「tbodyの1列目をthに変換する」機能を有効化したthセルとtdセルが混在したテーブル(表)を使って複数の行を入れ替えてみます。

実行する際は元のテーブル(表)全体をブロックコピーし、そのコピーしたテーブル(表)で作業をします。
問題なく完了したら元のテーブル(表)を削除します。

今回は最終的には下のような行の入れ替えにしてみます。

キャプチャ画像
STEP
コードに分解

テーブル(表)を選択→「HTMLとして編集」を選択します。
するとHTMLコードによる表示に変わるのでコードを全選択CtrlA)してコピーCtrlC)しておきます。

キャプチャ画像
STEP
コードを見やすく整形

ブラウザでHTMLコード整形サービスを開いておきます。
(今回は「HTML Beautifier」を利用しての説明になります)

左側のエリアに先ほどコピーしたコードをペースト。次に「Beautify html」をクリックします。
すると右側のエリアに整形されたコードが表示されます。

キャプチャ画像
STEP
テキストエディターでの作業

上の画像の整形コード上で直接作業しても問題はないんですがテキストエディターの方が見やすくミスも少ないので、今回は「さくらエディター」というテキストエディターを使って行移動の作業を行います。

さくらエディターを起動したら先ほどの整形済みコードを全選択→コピー→テキストエディターにペーストします。

キャプチャ画像

Windows標準のメモ帳でも問題ありません。ただメモ帳は行番号が表示されないのとタブ幅が大きすぎて見にくいので慣れない方には少々不便かと思われます。

キャプチャ画像
STEP
エディターとテーブルの関係

参考までに少しだけコードの見方をご説明します。

<thead>から</thead>までがテーブル(表)のヘッダー部分です。
(今回の行移動とは直接関係ありません)

そして<tr>から</tr>までが1個のセルに該当します。
行移動<tr>~</tr>単位で行います。

キャプチャ画像
STEP
移動元の行を選択

ここからが行移動の作業になります。

「予定D」を「予定A」の上に移動したい時は最初に「予定D」のデータが含まれる<tr>~</tr>までを行単位で選択します。

キャプチャ画像
STEP
行の移動

選択が完了したらCtrlXカットします。
続いて「予定A」の<tr>のある行の先頭をクリックし、CtrlVで貼り付けます。

キャプチャ画像

これで1個の行移動が完了です。

サイト管理人

慣れればカット&ペーストではなくドラッグでの移動の方が早い場合もあります。

STEP
必要な分だけ移動

同じやり方で移動したい分だけ行移動を続けます。

キャプチャ画像
STEP
戻し

行移動の作業が終わったらテキストエディター内のコードを全選択CtrlA)→コピーCtrlC)します。

ワードプレスの編集画面に戻り、HTMLコードに変換状態のブロックの内容を全削除直前にコピーした(エディター内の)コードを貼り付けます。(ブロック内を全選択→貼り付けでも変更可能)

キャプチャ画像
STEP
最後の変換

上の作業完了後に別のところをクリックするか何らかの別の作業を始めるとすぐに下のような改行やインデントが省かれたコード表示に変わります。

最後に「ビジュアル編集」をクリックすれば行移動完了済みのテーブル(表)に変更されます。

キャプチャ画像

”列”移動はHTMLの構造上、無理です。
作り直しましょう。

【SWELL ver.2.8.1で検証済】

アイキャッチ画像

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメントする

CAPTCHA

もくじ