WordPressデータベースを一括でアップデートするWebプログラム作りました

サーバーにある複数のWordPressサイトをパソコン上のXAMPPで動かすための作業をしていました。データベースはサイトのURLに関する部分を修正しないとちゃんと動きません。UPDATE文自体は数行なのでテキストエディタで置換を繰り返せば済みますが、それを複数サイト分やっていると面倒になってきました。今後も同じことをする場合がきっとあると思うのでちょっとプログラムにしてみました。

WordPressサイトを別の場所で動かそうとするときのUPDATE文とは

WordPressサイトを別の場所で動かそうとするときのUPDATE文は、

WordPressのバックアップをBackWPupで!その3

などにも書いてあって、その作業をするたびにこのblogからコピーして(自分でもblogから見るのが早いので(^_^;)、秀丸などにペーストして元のURLと新しいURLを置換して、それをphpMyAdminなどで流していました。

たったそれだけなのですが複数サイト分やるといやになります(^_^;

一括でアップデートするWebプログラムを作りました

まずは作ったものをサーバに上げてみました

https://usortblog.com/blog_sample/tools/wordpress_iten.php

* 2015/06/04現在

使い方としては入力箇所が3カ所あって、

プレフィックス(任意。大概の場合はwp_がプレフィックスなので入力しない)
現在のサイトURL(必須。現在のというかコピー元のURL)
変更後のサイトURL(必須。コピー先で使うURL)

となっています。

必須部分を入力して 送信 をクリックすると、

UPDATE文が下のtextareaに表示されます。これをコピーしてphpMyAdminなどで流してください。

その後に画面に書いてあるように、

ダッシュボード 設定>パーマリンク設定 で 変更を保存 をクリックする。

をします。

このプログラムで使ったPHPの部分について

このプログラムで使ったPHP部分の解説をします。これからPHPを始めようかなとか初心者さんにはちょっと役立つかもしれません(^^)。それ以外の方にはあまり面白くないかもしれません。

このプログラムのソース全文は

こんな感じです。

UPDATE文の指定

あとで増えたり減ったりしてもコードを書き換えなくていいようにと思いARRAYにしました。

書き換えは、

のようにARRAYにある要素をぐるぐる自動的に回して処理をするので増えたり減ったりしても大丈夫になってます。

formからpostされて来た値を使いますが、最初の読み込み時などに要素があると思ってコーディングしてあると、ないときにwarningになってしまいます。
そのために直接 $_POST[‘フィールド名’] を使わずに editPost という関数を通して見るようにしています。

そのeditPostという関数では

$_POST$postNameで指定された要素があればその要素の値を返して、無い場合は ” 空白を返します。関数にしておくと同じコードを何度も書かなくて済むので手間が省ける共にバグも防げますね(^^)/。

このプログラムで使ったbootstrap(ブートストラップ)とかの部分について

最初は適当にPHPで作って動作としてはできあがったのですが、自分で何度も使おうと思うツールは見た目もきれいでないとテンションがあがりません。といことでbootstrapを使って簡単にちょっと見た目をよくしてみました。

最初はこんな感じで、ちょっと気持ちが上がらないかんじです。これをbootstrap(ブートストラップ)とcssの指定をすることでよくしてみました。

例えば

タイトルに class=”bg-primary” とすることでバックカラーが青くなりました。あとはpaddingやmargin-topなどを指定してタイトルっぽくしました。

送信ボタンは class=”btn btn-primary” と指定することで青いボタンになります。

その他、bloogstrapを指定してあるだけで入力エリアが角丸になったりもしています。

まとめ:Webサービスっていうのかな(^_^;

こういうものってWebサービスっていうのかな?言うんでしょうか?まぁとにかくこういう割とたくさんの人が使えそうなちょっとしたものを作りたいなと思います。

UPDATE文は他にもあるかもしれませんし、なにかご意見ご感想などありましたらお気軽にコメントください(^^)/

兎本美佳

ブログを見た人がそのままできたらいいなと思って、できるだけ丁寧に書いています。blogに書いたようなネタの有償対応のご相談は「ゆうそうと」へいただければと思います(^^)/
無償での対応をご希望の場合は、コメントをいただけましたら可能な場合はコメントを返させていただきます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサー広告
ブログをメールで購読

メールアドレスを記入して購読すれば、更新をメールで受信できます。

261人の購読者に加わりましょう

トップへ戻る