web-dev-qa-db-ja.com

Infinite Scrollが独自のテーマで機能しない

私は自分のテーマを開発し、無限スクロールをサポートするためにフックafter_setup_themeで呼び出される関数にこれを追加しました:

add_theme_support( 'infinite-scroll', array(
    'container'  => 'content',
    'footer' => false,
    'wrapper' => false
) );

私は http://jetpack.me/support/infinite-scroll/ からこれを得ました。 contentは新しい投稿が入るべきコンテナのIDです。私は別のフッターを追加したくないのでfooterはfalseに設定されています。私はdivラッパーを必要としないのでwrapperはfalseに設定されています。

自分のWebページに移動して一番下までスクロールすると、読み込み中のメッセージがありますが、投稿された投稿はありません(他にも投稿があります)。 JavaScriptエラーがあるのがわかります。

TypeError: infiniteScroll.scroller is undefined at infinity.js:485

一番下までスクロールすると、ajaxリクエストがあることもわかりますが、そのページは次のように返されます。

{"type":"empty"}

何がおかしいのですか?これを機能させるにはどうすればいいですか。

1
Keelan

content.phpまたはcontent-<post format>.php ORのどちらかが必要です。

add_theme_support( 'infinite-scroll', array(
    'container'  => 'content',
    'footer' => false,
    'render' => 'render_function',
    'wrapper' => false
) );

function render_function() {
    get_template_part('loop');
}

これはloop.phpがあることを意味します。

3
Keelan

たぶん、あなたのテーマはheader.phpのwp_head()呼び出し(</head>の直前にそれを追加する)かfooter.phpのwp_footer()呼び出し(</body>の直前にそれを追加する)のどちらかが欠けています。

2
Otto