0

私の WordPress ブログには 500 以上の投稿があります。

各投稿は小さな画像から始まります。

これらの小さな画像を投稿内から削除し、カスタム フィールドとして表示したいと考えています。

すべての投稿を確認して必要な変更を加えるには、長い時間がかかります。

次のことができる SQL クエリを実行することは可能ですか。

  1. 小さな画像をキャッチします。
  2. 投稿内の小さな画像を削除します。
  3. 小さな画像をカスタム フィールドとして投稿に関連付けます。
4

1 に答える 1

0

私はSQLがそれを行うことができたとは思わない。代わりに、Google で検索したばかりのパーサー (http://simplehtmldom.sourceforge.net/) を使用して、次のようなことを行う小さな php スクリプトを作成します (疑似コードでは、これを完了する必要があります)。

$post_collection = query('get all posts');

for( $i = 0; $i < $post_collection.length; $i++ ) {
  $html =  str_get_html( $post_collection[$i] );
  $that_first_image = $html->find('img', 1);
  query('save $that_first_image to custom field');
  $html->find('img', 1) = '';
  query('save $html over the old post');
}
于 2012-06-17T23:38:18.520 に答える