Wordpress 4.7をインストールしました。発表の中で言及されているものの1つは、それがREST APIを備えているということです。
私の理解は:
しかし、Vanilla Wordpress 4.7のインストールでは、どのエンドポイントも機能していないようです(http://examples.com/wp-json/wp/v2/posts
など)。
新しいREST APIが本当にアクティブになっているかどうかはどうすればわかりますか? Vanilla WordpressのUIでREST APIを有効または無効にすることはできますか、それともサードパーティのプラグインをインストールする必要がありますか?
4.7ではデフォルトで有効になっています。動作しているかどうかを確認する簡単な方法は、example.com/wp-jsonのURLにアクセスすることです。そこに登録されているエンドポイントのリストが表示されます。
それを無効にする公式なオプションはありません(少なくともそれがリリースに入ったかどうかわからないという話がありました)、いくつかのコア機能はそれに依存します。
それが機能していないかどうかを確認するための最も明白なことはあなたのhtaccessルールであり、そしてあなたはwp-jsonディレクトリを持っていますか
私は4.7でREST APIが無効になっていると思っていましたが、URLに騙されました。正しいURLを確認するには、次のような行を探します。
link rel = 'https://api.w.org/
' href = 'http://mysite?rest_route=/
' />。だから、 http:// mysite?rest_route =/ を接頭辞として使うことで私の問題は解決した。たとえば、投稿を回復するには入力するのに十分です: http:// mysite?rest_route =/wp/json
クエリパラメータが必要であることをドキュメントで見つけることができませんでした。私だけだった?
REST APIがそのまま使用できない場合、または新規インストール後および入力後に機能しない場合
mydomain/wp-json/wp/v2/posts
それから、post_nameにある "パーマリンク"を単に有効にする必要があります。
WPダッシュボード - >設定 - >パーマリンク
パーマリンクを有効にしたくない場合は、単に次のように入力します。
mydomain?rest_route=/wp/v2/posts
そうですね、WordPressが彼らのRestハンドブックをもっとユーザーフレンドリーになるように更新して欲しいです。私は古いバージョンのドキュメントが好きです:)
問題は解決しましたが、解決策はここにあります。 wp 4.7でbeta15からコアのAPIにアップデートしたときにも同じ問題がありました。問題は、廃止予定の関数register_api_fieldを使用しているプラグインがいくつかあることです。
変更点:register_api_field()の名前をregister_rest_field()に変更してください。
_doing_it_wrong()を呼び出す後方互換のためのregister_api_field()関数を導入しました。ただし、register_api_field()はWordPressコアにはコミットされないため、関数呼び出しを更新する必要があります。