ダミー記事とアイキャッチ画像を自動生成するシェルスクリプト作ってみたよ(要『WP-CLI』)

『Vagrant』と『Varying Vagrant Vagrants』を導入してすっかり黒い画面と仲良くなったので、「『Varying Vagrant Vagrants』用のWordPressインストール シェルスクリプト作ってみたよ」の記事に続くオレオレシェルスクリプト第2弾をつくってみました。今回も、要『WP-CLI』です。

テーマは、ダミー記事とアイキャッチ画像の自動生成。

同様の機能をもつプラグインもあるようですが、日本語の記事をアイキャッチ画像つきで作るものがなさそうだったので、シェルスクリプトの学習もかねて作ってみたというわけです。

スクリプトは例によってGistにて公開しています(『Vagrant』+『Varying Vagrant Vagrants』の環境にて動作検証)。オレオレスクリプトにつきエラー判定はあまあまですので、ご利用の際は計画的に。

ダミー記事とアイキャッチ画像の自動生成スクリプト genpost.sh

適当なディレクトリに保存して ./genpost.sh てな感じで立ち上げますと

  • 対象となるWordPressがインストールされているディレクトリ
  • 生成したい記事の件数
  • 1記事あたりの最大段落数
  • 投稿タイプ(WP_Query のパラメータ post_type を参照してください)
  • 投稿ステータス(同 post_status)
  • タイトル文字列のプリフィックス(プリフィックス+連番で自動生成されます)
  • アイキャッチ画像の有無(あらかじめ、お使いのテーマでアイキャッチ画像を使えるようにしておいてください)

を尋ねてくるので、適宜ぽちぽちと入力してください。

パラメータの入力が終わると、対象ディレクトリに設定ファイルがダウンロードされ、記事の生成が進んでいきます。アイキャッチ画像ありの場合は、記事がつくられるごとに、20個の中からランダムに選ばれた画像が一時ディレクトリにダウンロードされ、インポートされていきます。
(設定ファイル・画像ファイルは現状、Dropboxにて公開しています)

今回ハマったのは、画像ファイルのURLが20行にわたって書かれた設定ファイルから1行とりだして変数に格納し、コマンドの引数として渡す処理。気づいてしまえば当たり前のことだったのですが、1行取り出した時点では行末の改行コードが含まれているため、それを wp コマンドの引数にしてもまったくうまくいかないわけです。ここんところで約2時間足止めくらいました 🙁

謝辞

自動生成に使うテキストに幸田露伴『旅行の今昔』(青空文庫)、アイキャッチ画像に『PAKUTASO/ぱくたそ-すべて高品質の無料(フリー)写真素材』を使いました。有用なデータを無料で公開してくださっているご関係のみなさまに感謝いたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です