web-dev-qa-db-ja.com

Wp cliを使用してページテンプレートを設定および一覧表示する方法

新しいテンプレートを含むページがあり、その新しいテンプレートをwp-cliで設定したい。

wp post get <id>を実行すると、次のような出力が得られます。

+-----------------------+---------------------+
| Field                 | Value               |
+-----------------------+---------------------+
| ID                    | 4                   |
| post_author           | 5                   |
| post_date             | 2012-03-09 13:11:38 |
| post_date_gmt         | 0000-00-00 00:00:00 |
| post_content          |                     |
| post_title            | Home Page           |
| post_excerpt          |                     |
| post_status           | publish             |
| comment_status        | closed              |
| ping_status           | open                |
| post_password         |                     |
| post_name             | home                |
| to_ping               |                     |
| pinged                |                     |
| post_modified         | 2015-06-04 12:23:41 |
| post_modified_gmt     | 2015-06-04 19:23:41 |
| post_content_filtered |                     |
| post_parent           | 0                   |
| guid                  | /?page_id=4         |
| menu_order            | 0                   |
| post_type             | page                |
| post_mime_type        |                     |
| comment_count         | 0                   |
+-----------------------+---------------------+

これは私が探している属性ではありませんpage_template

正しい属性キーと思われるものを試してみます。
wp post update 4 --page_template='New Home Page'

Warning: The page template is invalid.が出ます

1
Mike Lyons

Wp-cliの ドキュメント に書いてあることがわかりました

[--<field>=<value>]連想は新しい投稿を主張します。 wp_insert_post()を参照してください。

その後それはその後示しています:

'page_template'  => [ <string> ] // Requires name of template file, eg. template.php.

コマンドはwp post update 4 --page_template='new-home.php'です

2
Mike Lyons

これは私が探している属性ではありませんpage_template

fieldspage_templateを使ってみてください。

wp post list --post_type=page,post --fields=ID,post_title,post_name,post_type,page_template
2
Prisoner 13