私は2つのWordPressサイトを別々のドメインに置いています。私は私が他のサイトのために使わなければならない1つのサイトのjsonフィードを通してカテゴリー内の最新の投稿を公開する必要があります。 jsonの応答を取得するには、「隠し」URLを押す必要があります。例:/themes/mytheme/json_api.php?cat=news
.
このJSONフィードにheader.phpを含まない固有のページを作成し、特定のカテゴリ内の投稿を出力するために必要なコードのみを含めるようにします。このファイルの WP_Query
にアクセスするには、何をインポートする必要がありますか?
なぜRSSウィジェットを使わないのですか?
WordPressをブートストラップしようとしているようです。あなたがしなければならないのはあなたのWordPressルートにあるファイルwp-load.phpを含めることだけです。これにより、ほとんどのWP機能(WP_Queryクラスなど)がカスタムスクリプトで使用可能になります。
include('wp-load.php');
明らかに、インクルードへのパスを調整し、あなた自身のクエリ/出力のものを書く必要があるでしょう。
私はあなたが AJAX API を使うことを勧めます。これでWordPress Coreが起動し、$wpdb
globalやWP_Query
クラスを含む、期待されるほとんどの機能が提供されます。 WordPressのパーミッションシステムとナンス機能を使うこともできます。
これを機能させるには、別のファイルではなく、スクリプトでコールバック関数を作成し、それをAJAXシステムにフックします。
function ajax_callback_wpse_4870() {
// your script
}
add_action('wp_ajax_your_callback_hookname','ajax_callback_wpse_4870');
add_action('wp_ajax_nopriv_your_callback_hookname','ajax_callback_wpse_4870');
あなたのJavascriptは/wp-admin/admin-ajax.php
という名前のアクションパラメータでPOST
sからyour_callback_hookname
へ。
フック名が示すように、最初のフックはログインしているユーザー用、2番目はログインしていないユーザー用です。どちらか一方だけが必要な場合は、両方のフックは必要ありません。