web-dev-qa-db-ja.com

JavaScriptファイルを使用してget posts配列にアクセスする

5つの投稿の配列を順番に見ながら、divに表示される投稿を動的に変更するには、矢印を使用します。この問題にどのように対処しますか?

Get posts関数がグローバル変数に割り当てられるように配列を作成しましたが、これは私がつまずいているので、これまでに行ったことがある唯一のことです。使い方を理解するためにデバッグログを使って配列を印刷しようとしましたが、まったく意味がありません。

これはwp_localize_script()と関係がありますか?また、私は自分のフロントページにこれらのうちの3つがあることを期待しているので、私はwp_localize_script()を使用すれば私はこれを3回使用できますか?投稿の3つの別々の配列を渡すには?

2
Stefanos Vorkas

うん、探しているのは wp_localize_script() 。グローバルをやめなさい。

add_action( 'wp_enqueue_scripts', 'wpse_enqueue_scripts' );
function wpse_enqueue_scripts() {
    wp_enqueue_script( 'wpse-main', get_template_directory_uri() . '/path/to/script.js', array(), false, true );
    wp_localize_script( 'wpse-main', 'wpseVars', array(
        'postsLoop1' => json_encode( /* first post array */ ),
        'postsLoop2' => json_encode( /* second post array */ ),
        'postsLoop3' => json_encode( /* third post array */ )
    ) );
}

それからあなたのスクリプトで、あなたはwpseVars.postsLoop1wpseVars.postsLoop2などをつかむことによって変数にアクセスすることができます.

1
brianjohnhanna