WordPressの有料テーマの一つであるSWELLには「広告タグ」と呼ばれる機能があります。
いろいろな広告を登録しておけば記事内に簡単にその広告を埋め込むことができます。
「広告タグ」の内容を修正するだけで当該広告タグを埋め込んでいる記事内の広告も自動的に修正後の内容に置き換わります。
また当該広告の表示回数、クリック数が自動的に集計されているので人気のある広告が一目で分かります。
このように便利な「広告タグ」ですが、当該広告タグを埋め込んでいる記事がどれなのか一目で分からないという点が実際に使っていく上でちょっと不便だなと個人的に思っています。
当該広告タグを無効にすれば記事に表示されなくなりますが、例えば「オススメの商品はこちらです」という文言の後に当該広告タグを埋め込んでいた場合、広告が表示されなくなることでちょっと不自然な感じになってしまいます。
そのような記事を見逃さないためにどうにかできないか、調べてみました。
結論
結論から先に述べます。
データベースの中を下記のようなSQL文で検索すれば分かります。
使用しているDBはMariaDBかMySQLであることが条件です。
SELECT ID, post_title
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
AND post_content LIKE '%{\"adID\":\"2433\"}%'
GROUP BY ID;
上記例で「2433」となっている部分が探したい広告タグIDになります。
phpMyAdminを使った方法
上記SQL文を実行するためにはデータベースに接続する必要があります。
データベース管理ツールを使うとか、サーバーにSSHで入ってCLIでコマンドを叩くとか、いくつかの方法がありますが今回はphpMyAdminを使った方法を説明します。
接続する
phpMyAdminを使って接続します。
詳細な手順は割愛させていただきますが、下記の記事が参考になるかと思います。
SQL文を入力する
接続したらphpMyAdminの左ペインで対象となるDBを選択し、上の方にある「SQL」タブをクリック、上記のSQL文を入力します。
SQL文を実行する
SQL文を入力したら右下にある「実行」をクリックします。
下記のような感じで結果が表示されます。
IDが記事ID、post_titleが記事タイトルになります。
当該記事を記事一覧から探して編集してください。
以上になります。
参考SQL文
下記のSQL文は広告タグが含まれている記事を抽出します。
SELECT ID, post_title
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
AND post_content LIKE '%{\"adID\":%\"}%'
GROUP BY ID;
下記のSQL文は広告タグIDを抽出します。
(現在無効なものも含む)
SELECT ID, post_title
FROM wp_posts
WHERE post_type = 'ad_tag';
IDが広告タグID、post_titleが広告タグ名になります。
まとめ
ある広告タグを含む記事のうち、一部の記事だけ広告を非表示にしたい場合などに使えるかと思います。
この記事が参考になりましたら幸いです。
コメント