
WordPressのテーマ『賢威』は下の画像のように個別記事によってレイアウトを変えることができます。

column
- 1カラム
- 2カラム
- 2カラムリバース
- 3カラム
- 3カラムリバース
全部で5種類のレイアウトを自由に選ぶことができるのは便利なのですが、1つ問題があります。
通常WordPressというのは一括変更をすることができるのですが、『賢威』のようにデフォルトで管理画面にないカスタムフィールドの項目に関して一括変更ができません。
個別記事で設定したレイアウト設定を理画面から編集しようとすると、1つ1つ記事編集からレイアウトの変更をポチポチとやらないといけないのです。
例えば、2カラムで作成した500記事をすべて3カラムの変更しようとすると、500回分の編集作業が必要になります。さすがにこれを自分でやるわけにはいきません。
そこで、データベースの情報を直接書き換えるという手段をとります。
1.まずphpMyAdminをサーバーにインストールする

ってその前に「phpMyAdminって何よ!?」って方のために・・・↓
今やろうとしていることはWordPressの管理画面から操作するのではなくて、
WordPressのすべてのデータが格納されているデータベースを触ろうとしています。
WordPressのデータベースはMySQLというデータベースが利用されています。
通常データベースをいじくり回そうとするとSQL文を書きまくらないといけないし、
そもそものデータベースの構造から理解していかないといけません。
しかし、一般の人にはそんなものはわからないので、直感的にわかるデータベースを操作できる言わばオペレーションシステムのようなものがMySQLです。
なので、まずこのphpMyAdminをWordPressが設置されているサーバーにインストールしてください。
レンタルサーバー会社によってはインストールの必要か不必要かが違う
レンタルサーバーによっては既にphpMyAdminがインストールされている会社もあります。
サーバーの管理画面を見て確認してください。
無い場合は各レンタルサーバー会社のヘルプなどを見て、
インストールを行ってください。
僕はXserverを利用していることが多いのですが、Xserverの場合は上図のように既にインストールされています。
2.phpMyAdminにログインする

このような管理画面にログインします。
ログイン情報は、「MySQLユーザ名」「MySQLパスワード」が必要になります。
「MySQLユーザ名」「MySQLパスワード」はサーバーの管理画面の方から通常確認できます。
3.WordPressのデータベースからテーブル一覧を見てみる

WordPressで利用しているデータベース名を選択すると、上図のようにテーブルの一覧がズラリと並びます。
WordPressをインストールした時のデフォルとは以下のような一覧になります。
table list
- wp_commentmeta
- wp_comments
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_usermeta
- wp_users
そして、今回いじるのは「wp_postmeta」という名前のテーブルになります。
wp_postmetaは投稿記事の特有の情報が格納されています。今回のように賢威ならではのカスタムフィールドで「レイアウト」の項目はこれに該当します。
4.「wp_postmeta」に何が格納されているか見てみる

左のメニューの「wp_postmeta」→上のメニューの「表示」という順番でクリックしていってください。
そうすると、投稿記事に関するカスタムフィールドの項目の情報がずらずらと出てきます。
ずらずらと出てきたテーブルのデータの上にこのような表示がされていると思います。

これはSQL文を実行していることを表しています。SLECTの後の「*」はテーブルのカラムのすべて、
LIMITの「0,30」は開始位置1番めから30件を取得するという意味になっています。
5.まず試験的に1件だけ記事のカラム数を変更してみる
これからこのSQL文を1度だけ書いて賢威のレイアウトを一括変更していくのですが、
まず試験的に1件だけ3カラムを2カラムにデータベースから直接変更してみます。

page_layoutの値が「col3」となっているところがあります。
これを「col2」にすれば該当の記事は2カラムに変更されます。
まず、鉛筆マークをクリックします。

そうすると、meta_valueの項目のテキストエリアに「col3」が表示されているのがわかります。
これを「col2」に変更して「実行する」ボタンをクリックしてください。
すると、すぐに値が変更されました。この時に実際に実行されたSQL文は、以下のような構文になります。
UPDATE `ここはデータベース名`.`wp_postmeta` SET `meta_value` = 'col2' WHERE `wp_postmeta`.`meta_id` =18 LIMIT 1
これを一括変更に活かします。
6.「col3」のmeta_valueをすべて「col2」に変更する
同じ要領で3カラムの記事を一括で2カラムに変更するには、以下のような構文になります。
UPDATE `ここはデータベース名`.`wp_postmeta` SET `meta_value` = 'col2' WHERE `wp_postmeta`.`meta_value` = 'col3';
確認すると、すべての「page_layout」の値である「col3」が「col2」に変更されていることがわかります。
これで、賢威のすべての3カラムのレイアウトが一括で2カラムに変更できました。SQL文は上記をそのままコピペして利用してもらってかまいません。
以上で一瞬にして管理画面に入らずに賢威のカラム数を変更することができました。
ただ、注意が必要で失敗した時のためにデータベースのバックアップは必ずとっておいてください。phpMyAdminはデータベースそのものをいじるので、触る時は慎重に操作してくださいね。
コメントを残す