次のような状況に遭遇したことがありますか:
- ブログのドメイン名を変更すると、ブログ記事のコンテンツが変更されなければなりません。も変更する必要があります
- 使用している画像アドレスが変更されました
- #記事をたくさん書いたので、著者を切り替えたいです ##のメッセージをすべて削除したいです某ヘイトコメント投稿者
- コメント投稿者の全コメントのサイトURLを変更したい
- 全記事のピンバックを無効化したい
- 全記事のコメント機能を無効化したい
バッチ変更という 1 つのキーワードが含まれます。 WordPress バックエンドで記事の内容を 1 つずつ手動で変更するとなると、気が狂ってしまうと思いますが、数千の記事があるブログの場合、その作業を完了するのはほぼ不可能です。この記事では、SQL ステートメントを使用してデータベースを操作し、データをバッチ変更する方法を説明します。
データベース関連の知識を学んだことがない場合、SQL が何であるかはまったくわかりませんが、この記事で説明する内容はデータベースの知識を理解する必要も、熟練する必要もありません。 SQL ステートメントの記述は完全に完了しています。この記事で説明されている SQL を直接使用できます。以下では、各 SQL ステートメントの機能をセクションに分けて紹介します。すべてのステートメントでは、デフォルトのwp_ テーブル プレフィックスが使用されます。そうではありません。ご自身で変更してください。
始める前に、まず SQL ステートメントを実行してバッチ操作を実行する方法を紹介します。現在、ほとんどのスペースでは phpmyadmin を使用してデータベースを管理しています。ここでは phpmyadmin を例として SQL ステートメントの実行方法を紹介します:- phpmyadmin 管理ページに入り、対応するブログを入力してください。データベース
- のメニュー バーに
SQL オプションがあります。
- をクリックし、入力ボックスをクリックします。 SQL ステートメントが表示されます。SQL ステートメントを入力できます。
- 入力後、
Execute をクリックすると、入力したばかりの SQL ステートメントが実行されます
- SQL ステートメントの実行が完了し、記事がバッチで変更されました。次に、すべての記事が変更されたかどうかを確認してください。
- 最後に、注意事項: 以下に紹介する SQL ステートメントは私のブログでテストされていますが、それにもかかわらず、データベースを操作する前にデータベースをバックアップする必要があります。データベースを定期的にバックアップすることは良い習慣です##SQL コマンド実行ウィンドウ:
##1. 記事の内容をバッチで変更:
以前に書いたものを差し替えたい場合 ブログ名の変更、ブログの URL の変更、記事画像のリンクの変更など、すべての記事の特定の内容については、次の SQL ステートメントを使用します。 UPDATE wp_posts
SET post_content = replace( post_content, '露兜博客', '露兜中文博客' );
ログイン後にコピー
UPDATE wp_posts SET post_content = replace( post_content, '露兜博客', '露兜中文博客' );
このステートメント この機能は、すべての記事内の
Pandan Blogに置き換えることです。必要に応じていくつかの変更を加えることができます。記事のコンテンツは HTML コードの形式でデータベースに保存されるため、上記の SQL ステートメントで HTML コードを置き換えることもできます。 他のリンクに影響を与えずに記事の図へのリンクだけを変更したい場合は、次の SQL ステートメントを使用できます。すべての src="oldurl.com は src="newurl.com に置き換えられます。
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="oldurl.com', 'src="newurl.com');
画像添付ファイルとしてアップロードする場合は、画像添付ファイルの GUID を変更する必要があります
UPDATE wp_posts SET guid = REPLACE (guid, 'oldsiteurl.com', 'newsiteurl.com') WHERE post_type = 'attachment';
記事の概要は、WordPress バックグラウンドで記事を編集するときに [概要] ボックスに入力される内容です。記事の概要を一括で変更したい場合は、次のコマンドを使用できます。次のステートメント: UPDATE wp_posts
SET post_excerpt = replace( post_excerpt, '露兜博客', '露兜中文博客' );
ログイン後にコピー
UPDATE wp_posts SET post_excerpt = replace( post_excerpt, '露兜博客', '露兜中文博客' );
このステートメントの機能は、すべての記事概要内のすべての単語
Pandan Blogに置き換えることです。 。 3. 記事の著者を一括変更する:
ブログに Zhang San と Li Si という 2 人の登録ユーザーがいて、Zhang San のすべての記事を変更したいとします。李斯の指導の下、私たちは今何をすべきでしょうか?次のステートメントを実行できます: UPDATE wp_posts
SET post_author = 李四用户id
WHERE post_author = 张三用户id;
ログイン後にコピー
UPDATE wp_posts SET post_author = 李四用户id WHERE post_author = 张三用户id;
Li Si のユーザー ID と Zhang San のユーザー ID を取得するには?次の SQL ステートメントを実行できます:
SELECT ID, user_nicename, display_name FROM wp_users;
ブログに登録されているすべてのユーザーの ID、ニックネーム、および公開表示名がリストされます。対応するユーザー ID を次のように見つけることができます。以下に示すように、zhangsan の ID は 2、lisi の ID は 5 です。
SQL は次のように記述できます。
えええええ4、批量修改文章评论者的网站URL:
假设,你的博客有个非常忠实的读者,给你的博客文章留下很多有用的评论,同时他的评论都填写了留言者的网站URL,但是有一天他的博客域名换了,并请求你更新他留言中的网站URL,那你怎么办?手动一个一个帮他改,这不太现实。你可以使用以下SQL语句:
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'oldurl.com', 'newurl.com' )
以上语句,将留言者所有旧的网站链接oldurl.com,更改为新的网址newurl.com
5、禁用所有文章的pingback功能:
开启pingback功能,可以在别人引用你的文章链接的情况下,给你发送通知,但是该功能似乎对我们的文章没多大帮助,那为何不把pingback给禁止了呢?在WordPress后台 - 设置 - 讨论,取消勾选"接收来自外部博客的引用通告(pingbacks 和 trackbacks)",这样以后的文章都不开启pingback,但是该选项不会对之前的已发布的文章起作用,还是要用到SQL:
UPDATE wp_posts SET ping_status = 'closed';
6、删除所有文章的修订版:
在通常情况下,文章的修订版对大多数人来说没多大意义,而且修订版的数量会随着你修改文章的次数不断增长,这会增加数据库的查询速度,这并不是什么好事。互联网上有很多教你如何禁止修订版的文章,还有很多插件可以删除文章修订版,你可以自己搜索看看。这里教你如何使用SQL语句,删除所有已产生的文章修订版数据:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
7、删除某个评论者的所有评论:
如果你的博客想要封杀某人,并删除其在你博客的所有留言,可以使用以下SQL语句。
(1)根据留言者的博客URL进行删除,以下SQL语句将删除所有URL为 www.example.com 的评论
DELETE from wp_comments WHERE comment_author_url LIKE '%www.example.com%';
(2)根据留言者的昵称进行删除,以下语句将删除所有昵称为 example 的评论
DELETE from wp_comments WHERE comment_author = 'example';
(2)根据留言者的Email进行删除,以下语句将删除所有Email为 example@example.com 的评论
DELETE from wp_comments WHERE comment_author_email = 'example@example.com';
8、替换所有评论中的敏感词汇:
国内的互联网监控力度表现出了不断加强的趋势,如果你的博客评论中出现了大量的敏感词汇,很可能离被墙也不远了。最好的做法是,替换相关的敏感词汇,以保证你的博客安全,以下SQL语句将所有评论中的 fuck,替换成 **,替换内容根据你的需要来。
UPDATE wp_comments SET comment_content = replace( comment_content, 'fuck', '**' );
9、关闭文章评论功能
有时候你的博客可能会因为某种原因,需要关闭文章的评论。在WordPress后台 - 设置 - 讨论,那里取消勾选"允许人们发表新文章的评论",以后发表的文章默认是关闭评论的。但是之前已经发表的文章,若想关闭评论需要你一篇一篇地去修改评论设置,这是一件比较痛苦的事情。以下SQL语句可以帮助你轻松地批量关闭文章评论:
(1) 关闭所有旧文章的评论:
通常情况下,一篇旧文章就很少会有人发表评论了,一般访问旧文章的访客大都来自搜索引擎,这是好事,但是这部分访客还会提出一些新问题,尤其是技术问题,但是可能文章中提到的技术细节你已经淡忘,这时候会让你很难办。最好的做法还是还是禁用旧文章的评论,以下SQL将禁止2009-01-01之前发表的所有文章的评论,你可以根据需要修改日期:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish';
(2) 关闭所有文章的评论:
有时候很不幸,在不可抗力的威胁下,你不得不关闭所有文章的评论,可以使用以下SQL语句:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_status = 'publish';
推荐学习:《WordPress教程》