エントリーの一括変更機能をマスターしよう!

この記事は公開日より5年以上経過しているため、現在の内容と異なる可能性があります。

Ver. 2.11 で新しく追加された「エントリーの一括編集」機能を体験してみましょう。


機能概要

Ver. 2.11 で「エントリーの一括編集」の機能が追加されました。 今までは、ステータス、所有者、カテゴリー、所属ブログは一括で変更できましたが、「エントリーの一括編集」機能を使うことで、ユニット以外のエントリー情報を一括で書き換えれるようになりました。

仕様

  • エントリーの絞り込みができる
  • 絞り込んだ中から、チェックをつけて変更するエントリーを選択
  • 部分的に変更箇所のみを指定可能
  • カスタムフィールド にも対応(テンプレートのカスタマイズが必要)

一括変換の値設定画面

一括変換の値設定画面


体験してみよう

一括変更機能を実際に動かして体験してみましょう。

まずは、 管理ページ > エントリー一覧 に移動します。 エントリー一覧に移動し「 まとめて操作 」というボタンを押します。


エントリー一覧

エントリー一覧


ほぼエントリー一覧と同じUIのページに移動しますが、ここで一括操作を行うエントリーを選択できるようになります。

エントリー一覧と同じように様々な条件で絞り込みができます。その後、変更したいエントリーにチェックをつけて、「選択したエントリーを操作」ボタンを押します。


操作エントリーの選択

操作エントリーの選択


次に変更する値の設定を行います。変更したい値にチェックをつけて、値を設定するだけになります。


一括変更する値の設定

一括変更する値の設定


最後に、確認画面が表示されるので「変換内容」と「対象エントリー」が正しい事を確認して「一括変更を実行」ボタンを押しましょう。


最終確認画面

最終確認画面


実行したら、変更したエントリーが、実際に変更されているか確認してみましょう。

カスタムフィールドも一括変更できるようにしよう

エントリーの基本情報は一括変更できるようになりましたが、カスタムフィールド の一括変更ができない状態です。カスタムフィールド を一括変更対象にする方法を学びましょう。

変更フィールドの登録

まずは、一括変更を行うフィールドをコンフィグで設定します。

管理ページ > コンフィグ > 一括変更フィールド設定 に移動して、「項目名」と「フィールド名」を設定をします。

カスタムフィールド グループの場合は「@グループ名」という形で指定ください。通常のカスタムフィールド はカスタムフィールド 名だけで大丈夫です。


一括変更フィールド登録画面

一括変更フィールド登録画面


テンプレートの用意

次にカスタムフィールド のテンプレートを用意します。
テンプレートは「admin/entry/bulk-change/field.html」に入力欄のテンプレートを、「admin/entry/bulk-change/preview.html」に、確認ページのテンプレートを設定します。ご利用のテーマに、 field.html と preview.html を用意してください。

フィールド名が「hoge」だった場合を例に解説します。後で実際に値が変更されていることを確認したいので、カスタムフィールドをエントリーに用意して、そのフィールドを一括変更できるようにしましょう。

入力テンプレート

admin/entry/bulk-change/field.html

下記のようにテンプレートを書きます。ほとんどは、通常のカスタムフィールドのテンプレートと同じように書けばいいのですが、カスタムフィールド の変数は エスケープ します。

また「field#フィールド名」というブロックで囲う必要があります。

<!-- BEGIN field#hoge -->
<input type="text" name="hoge" value="\{hoge\}" id="input-text-hoge" class="acms-admin-form-width-full" />
<input type="hidden" name="field[]" value="hoge" />
<input type="hidden" name="hoge:search" value="0" />
<!-- END field#hoge -->

確認用テンプレート

admin/entry/bulk-change/preview.html

下記のように確認用のテンプレートを書きます。こちらも入力用テンプレートと同様、カスタムフィールド変数 を エスケープ するようにします。

また入力用テンプレート同様「field#フィールド名」というブロックで囲う必要があります。

<!-- BEGIN field#hoge -->
\{hoge\}
<!-- END field#hoge -->

以上で完了です。

もう一度、一括変更を行ってみて、追加したカスタムフィールド の変更ができるか確認してみましょう。


同じタグ付けがされている記事