
サイトのリニューアルでは、大量の記事の修正が必要になることがあり、手動での操作は時間がかかりすぎます。そこで、Naiba サイト構築ノートがWordPressのカテゴリディレクトリの記事を一括削除、投稿のアイキャッチ画像をクリア、コンテンツを置換和投稿ステータスの変更方法を紹介します。
注意:本記事で紹介する方法はデータベース操作を伴います。必ず事前にバックアップを取ってください。
- 宝塔パネルでFTPストレージにウェブサイトとデータベースを自動バックアップするチュートリアル
- SiteGround共有ホスティングでcPanelを使用してウェブサイトとデータベースを手動バックアップするチュートリアル
- プラグインを使用してWordPressサイトを自動バックアップする
カテゴリ下の記事の一括削除
1. phpmyadminでデータベースにログインし、サイトのデータベースに切り替えます。
2. SQLをクリックし、データベースコマンドをコピーして実行します。
データベースコマンドは以下の通りです。末尾の1792は削除したいカテゴリディレクトリのIDです。カテゴリディレクトリにマウスオーバーするとURLに表示されるID情報から確認できます。
delete from wp_posts using wp_posts, wp_term_relationships, wp_term_taxonomy where wp_posts.id=wp_term_relationships.object_id and wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id and wp_term_relationships.term_taxonomy_id = 1792
実行が完了すると結果が表示されます。下図の通りです:
コンテンツとURLの一括置換
サイトのドメイン名や名称を変更した場合、以前の記事に挿入されたURLや名称も修正する必要があります。手動で修正するのは面倒なので、プラグインを使用しましょう。グラフィカルインターフェースでの操作で、非常に簡単です。
データベースコマンドで置換する場合は、以下のコマンドを使用します。
UPDATE wp_posts SET post_content = REPLACE(post_content, '原内容' , '替换为的内容');
アイキャッチ画像の一括クリア
記事によってはアイキャッチ画像が設定されているものとされていないものがあり、新しいテーマに変更したことでアイキャッチ画像が不格好になってしまった場合、以下のコマンドを使用して投稿のアイキャッチ画像データを一括削除できます(アイキャッチ画像ファイル自体は削除されません)。
WordPressアイキャッチ画像関連記事:
テーマの関数ファイルfunctions.phpに以下のコードを挿入します。functions.phpファイルにコードを安全に追加する方法:Code Snippets
global $wpdb; $wpdb->query( " DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' " );
追加後、サイトにアクセスすると、記事のアイキャッチ画像がすべてクリアされていることが確認できます。その後、上記のコードを削除します。削除しないと、アイキャッチ画像を永久に追加できなくなります。
投稿ステータスの一括変更
WordPressの記事ステータスは、下書き'draft'、公開済み'publish'、審査待ち'pending'に分かれます。
以下のコマンドを使用して、記事ステータスを一括変更できます。
UPDATE `wp_posts` SET `post_status` ='draft' WHERE (`post_status`='publish');
上記のコードは、wp_postsテーブル内のpost_statusの値をdraft(下書き状態)に変更するという意味です。どのファイルを変更するかは、後ろのpost_statusの値がpublishであるかどうかで判断し、publish(公開済み)のものだけを下書きに変更します。
メディアライブラリデータベースのクリア
WordPressメディアライブラリの情報をクリアしたい場合は、データベースで以下のコマンドを実行します。
DELETE from wp_posts where post_type = 'attachment'
上記のコマンドは、すべてのメディアライブラリ情報を削除します。メディアライブラリ情報をクエリしたい場合は、以下のコマンドを使用します。
Select * from wp_posts where post_type = 'attachment';
メディアデータベースをクリアした後、メディアファイルと記事の関連付けを削除するにはどうすればよいですか?以下のコマンドを使用します。
DELETE FROM `wp_postmeta` WHERE meta_key IN ('_wp_attached_file', '_wp_attachment_backup_sizes', '_wp_attachment_metadata', '_thumbnail_id')メディアライブラリと記事の関連付けだけをクエリしたい場合は、以下のコマンドを使用します。
SELECT * FROM `wp_postmeta` WHERE meta_key IN ('_wp_attached_file', '_wp_attachment_backup_sizes', '_wp_attachment_metadata', '_thumbnail_id')以上が紹介したWordPressでカテゴリ記事を一括削除、アイキャッチ画像をクリア、投稿ステータスを変更する方法です。他にも一括処理の方法があれば、ぜひ共有してください。

