3

私はWordpressとJSONAPIに少し慣れていないので、これが初心者の質問である場合はご容赦ください。ただし、いくつかの異なるカスタム投稿タイプのすべての投稿を取得し、独自のJSONコントローラーを介してJSONとして返すようにしています( JSON APIの拡張)

私がこれを行う場合:

$posts = $json_api->introspector->get_posts(array('post_type' => array('post','tweet','gallery','video','music'), 'post_parent' => 0, 'order' => 'ASC', 'orderby' => 'date', 'numberposts' => 100000000000));
echo count($posts);

「10」件の投稿しかありませんが、データベースにはもっとたくさんの投稿があります。一方、私がこれを行う場合:

echo count(get_posts(array('post_type' => array('post','tweet','gallery','video','music'), 'post_parent' => 0, 'order' => 'ASC', 'orderby' => 'date', 'numberposts' => 100000000000)));

データベース内の正しい投稿数である「74」を取得します。基本的に、JSON APIは、戻り値を10件の投稿のみに制限しています。JSON APIプラグインをハックしてさらに多くのことを許可できると確信していますが、APIのアップグレードでコードが台無しになるようです。

JSONAPI->イントロスペクターの投稿番号を「すべて」に設定する方法はありますか

ありがとう

4

1 に答える 1

5

いつか他の人に役立つかもしれないので、私は自分の質問に答えています。

ワードプレスプラグインディレクトリのややまばらなドキュメントを読んだ後、どこにも行きません。JSON APIコードで変数を見つけました。これがどのように機能するか、PS-1は単に「すべて」を意味します。

$json_api->query->count=-1;
$posts = $json_api->introspector->get_posts(array('post_type' => array('post','tweet','gallery','video','music'), 'post_parent' => 0, 'order' => 'ASC', 'orderby' => 'date', 'numberposts' => 4));
echo count($posts);

API呼び出しを行う前に、カウントを任意に設定できます。

于 2012-05-24T00:11:25.363 に答える