web-dev-qa-db-ja.com

Wordpressです REST APIは、Vanilla Wordpress 4.7インストールでインストールされ有効にされますか?

Wordpress 4.7をインストールしました。発表の中で言及されているものの1つは、それがREST AP​​Iを備えているということです。

私の理解は:

  • Wordpress REST AP​​Iプラグインはもう必要ありません。なぜなら、Wordpress 4.7ではすでにcoreとマージされているはずだからです。
  • Wordpress REST AP​​Iはデフォルトで有効になっています

しかし、Vanilla Wordpress 4.7のインストールでは、どのエンドポイントも機能していないようです(http://examples.com/wp-json/wp/v2/postsなど)。

新しいREST AP​​Iが本当にアクティブになっているかどうかはどうすればわかりますか? Vanilla WordpressのUIでREST AP​​Iを有効または無効にすることはできますか、それともサードパーティのプラグインをインストールする必要がありますか?

26
Pep

4.7ではデフォルトで有効になっています。動作しているかどうかを確認する簡単な方法は、example.com/wp-jsonのURLにアクセスすることです。そこに登録されているエンドポイントのリストが表示されます。

それを無効にする公式なオプションはありません(少なくともそれがリリースに入ったかどうかわからないという話がありました)、いくつかのコア機能はそれに依存します。

それが機能していないかどうかを確認するための最も明白なことはあなたのhtaccessルールであり、そしてあなたはwp-jsonディレクトリを持っていますか

17
Mark Kaplun

私は4.7でREST AP​​Iが無効になっていると思っていましたが、URLに騙されました。正しいURLを確認するには、次のような行を探します。

link rel = 'https://api.w.org/' href = 'http://mysite?rest_route=/' />。だから、 http:// mysite?rest_route =/ を接頭辞として使うことで私の問題は解決した。たとえば、投稿を回復するには入力するのに十分です: http:// mysite?rest_route =/wp/json

クエリパラメータが必要であることをドキュメントで見つけることができませんでした。私だけだった?

10
Edward

REST AP​​Iがそのまま使用できない場合、または新規インストール後および入力後に機能しない場合

mydomain/wp-json/wp/v2/posts 

それから、post_nameにある "パーマリンク"を単に有効にする必要があります。

WPダッシュボード - >設定 - >パーマリンク

パーマリンクを有効にしたくない場合は、単に次のように入力します。

mydomain?rest_route=/wp/v2/posts

そうですね、WordPressが彼らのRestハンドブックをもっとユーザーフレンドリーになるように更新して欲しいです。私は古いバージョンのドキュメントが好きです:)

0
samjco

問題は解決しましたが、解決策はここにあります。 wp 4.7でbeta15からコアのAPIにアップデートしたときにも同じ問題がありました。問題は、廃止予定の関数register_api_fieldを使用しているプラ​​グインがいくつかあることです。

変更点:register_api_field()の名前をregister_rest_field()に変更してください。

_doing_it_wrong()を呼び出す後方互換のためのregister_api_field()関数を導入しました。ただし、register_api_field()はWordPressコアにはコミットされないため、関数呼び出しを更新する必要があります。

0
friendlyfire