関連記事
WordPressで月10万円稼ぐなら海外FXアフィリエイト
プラグインSearch Regexの弱点→解消?
管理画面から記事やメディアの文字列の置換ができるSearch Regexですが、なぜかメディアの代替テキスト(ALT属性)は置換できるのにタイトルは置換できないと言う問題があります。
『絞り込み』から『タイトル』を選ぶことで対応できました。一応この記事は更新日時も更新できるので残しておきます。
タイトルは訪問者からは見えないのでどうでもいいと言えばいいのですが、個人的には代替テキストとタイトルが統一されないのがどうしても気になりました。
また、Search Regexでは置換を行っても記事の更新日時は変更されないと言う弱点もあります。
SQL文で記事、メディア全てを置換して更新日時も書き換える
XServerやさくらサーバー、その他VPSなどでWordPressを運営されている方ならPHPMyAdminやAdminerでデータベースを直接変更可能なので、SQL文で書き換えるのが確実です。
当然ですが、置換を実行する前に必ずデータベースのバックアップを取ってください。
当ブログは仮想通貨取引所やFX業者の名前を分かりやすいと思って全てカタカナで表記してきたのですが、スマホから見た時に文字数が多くて邪魔になるのではないかと思い、置換を行うことにしました。
SQL
SET @TARGET = 'エックスエム(XM)';
SET @REPLACE = 'XM(エックスエム)';
UPDATE wp_posts
SET post_title = REPLACE(post_title, @TARGET, @REPLACE)
WHERE post_title LIKE CONCAT('%', @TARGET, '%');
UPDATE wp_posts
SET post_content = REPLACE(post_content, @TARGET, @REPLACE)
WHERE post_content LIKE CONCAT('%', @TARGET, '%');
UPDATE wp_posts
SET post_modified = NOW(),
post_modified_gmt = UTC_TIMESTAMP()
WHERE post_type = 'post' AND
post_status = 'publish' AND
post_content LIKE CONCAT('%', @REPLACE, '%');
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, @TARGET, @REPLACE)
WHERE meta_key = '_wp_attachment_image_alt'
AND meta_value LIKE CONCAT('%', @TARGET, '%');
@TARGETは置換したい文字列、@REPLACEは置換後の文字列を設定します。
MySQLの正規表現を使えばさらに高度な置換ができますが、当ブログの場合は完全一致の単純置換でほとんど済みました。
あとからこう言う変更があるとかなり面倒なので、ブログ立ち上げ前に単語の規則性はちゃんと決めておいた方がいいですね。
WordPress関連記事
- WordPressテーマUnderStrapのカスタマイズ例
- WordPressのメディアや記事全文の文字を置換して日付も更新するSQL
- プラグインを使わずにWordPressのショートコードで広告を管理する
- WordPressの絵文字やEasy Table of Contents関係のファイルの読み込みを止める
- WordPressの投稿画面のツールバー・ショートカットキーをカスタマイズする
- プラグインなしでアップロード画像をWebPに変換
- プラグインなしでWordPressの画像入れ替えをする
関連記事
WordPressで月10万円稼ぐなら海外FXアフィリエイト