[WordPress General] shortcode が含まれたエントリをリストアップする

条件に合うエントリを探します。

このスクリプトを流用して、まとめてみます。

Contents

インストール

gem をインストールします。

% gem install ruby-mysql
% gem install inifile
% git clone https://gist.github.com/8516751.git
Cloning into '8516751'...
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.

つかいかた

ショートコードをみつける

使わなくなったプラグインのショートコードが含まれるエントリを探します。
探したいショートコードはこんな形式。

[browser-shot url="" width="300"]
SELECT count(*) FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' AND post_content LIKE '%[browser-shot%';
+----------+
| count(*) |
+----------+
|        6 |
+----------+

上記エントリーの id をリストアップする。

SELECT id FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' AND post_content LIKE '%[browser-shot%';

実行

$ ruby wp_research.rb

こんな形式のリンクを生成する。

<a href="http://www.exsample.com/?p=3437"/>3437</a>
<a href="http://www.exsample.com/?p=3501"/>3501</a>
<a href="http://www.exsample.com/?p=3643"/>3643</a>
<a href="http://www.exsample.com/?p=3674"/>3674</a>
<a href="http://www.exsample.com/?p=3756"/>3756</a>
<a href="http://www.exsample.com/?p=4865"/>4865</a>