web-dev-qa-db-de.com

Infinite Scroll funktioniert nicht im eigenen Theme

Ich entwickle mein eigenes Theme und füge dieses in einer Funktion hinzu, die mit dem Hook after_setup_theme aufgerufen wird, um Infinite Scroll zu unterstützen:

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

Ich habe dies von http://jetpack.me/support/infinite-scroll/ . content ist die ID des Containers, in den die neuen Beiträge eingefügt werden sollen. footer ist auf false gesetzt, da keine weitere Fußzeile hinzugefügt werden soll. wrapper ist auf false gesetzt, da ich keinen div-Wrapper benötige.

Wenn ich auf meine Webseite gehe und nach unten scrolle, wird eine Nachricht geladen, aber es werden keine Beiträge geladen (es gibt jedoch mehr Beiträge). Ich sehe, dass ein Javascript-Fehler vorliegt:

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

Ich sehe auch, dass es eine Ajax-Anfrage gibt, wenn ich nach unten scrolle, aber diese Seite gibt zurück:

{"type":"empty"}

Was mache ich falsch? Wie kann ich das zum Laufen bringen?

1
Keelan

Sie benötigen entweder einen content.php oder content-<post format>.php OR Verwenden Sie ein Rendering:

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

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

Dies impliziert, dass Sie einen loop.php haben.

3
Keelan

Höchstwahrscheinlich fehlt Ihrem Theme entweder der Aufruf wp_head() in der header.php (fügen Sie ihn direkt vor dem </head> ein) oder der Aufruf wp_footer() in der footer.php (fügen Sie ihn direkt vor dem </body> ein).

2
Otto