Craft CMS のエントリをコマンドで一括非公開にする方法
目次
Craft CMS の CLI ツール craft コマンドを使えば、特定のセクションのエントリを一括で「非公開(disabled)」に変更することができます。この記事では、book セクションを例にして、すべてのエントリを非公開にするコマンドの実行方法をわかりやすく解説します。
エントリを一括で非公開にするには?
Craft CMS では「公開/非公開」の状態は enabled フィールドで管理されていますので、以下のコマンドで一発で非公開にできます。
ph craft resave/entries --section book --set enabled --to :empty:
| オプション | 内容 |
|---|---|
|
|
対象とするセクション(ここでは
|
|
|
|
|
|
値を空にする → 非公開(disabled)になります |
※ :empty: は特殊な記法で、値を「空にする」ことを意味します。Craft の内部で「空の enabled = 非公開」として扱われます。
公開に戻すには?
:empty: を "=1" に変えるだけで、すべて「公開」に変更されます。
php craft resave/entries --section book --set enabled --to "=1"
注意点
- 本番環境で実行する前に、必ずバックアップを取りましょう。
--dry-runのようなシミュレーションオプションは存在しません。実行すると即反映されます。- 処理件数が多いと時間がかかります。
まとめ
CLI からの一括操作は、Craft CMS での大量エントリ管理にとても役立ちます。特に「一括非公開」のような作業は、管理画面からポチポチするよりも圧倒的に楽になります。
たった1行で全エントリを非公開に。覚えておいて損はありません!