it-swarm.com.de

Jetpack Infinite Scrolling für mehrere Spalten auf derselben Seite?

Das Aktivieren des unendlichen Bildlaufs ist so einfach wie das Hinzufügen dieses Snippets zur Datei functions.php des Themas (wobei 'content' die id des Containers ist, der die Posts umschließt):

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

Was kann ich tun, wenn meine Website mehrspaltig ist und beispielsweise in einer Spalte die neuesten Beiträge und in der anderen Spalte die neuesten Beiträge eines Tags (Hervorhebungen) aufgeführt sind? im wesentlichen gibt es zwei Behälter.

Ich habe diese beiden Ausschnitte ausprobiert (siehe unten), und so oder so ist das unendliche Scrollen nur für eine Spalte/einen Container aktiviert.

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

add_theme_support( 'infinite-scroll', array(
    'type' => 'scroll',
    'container' => 'highlights',
    'footer' => false,
) );

und

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

Was mache ich falsch?

HINWEIS: Wenn die Installation von Jetpack ein wordpress.com-Konto erfordert, versuchen Sie es mit Slim Jetpack . Es funktioniert sogar bei einer lokalen Installation von WP und erfordert kein wp.com-Konto.

4
its_me

In einer E-Mail-Antwort teilte mir Kris Karkoski, Happiness Engineer (WordPress.com) von Automattic, mit: "Infinite Scrolling mit mehreren Spalten wird derzeit in Jetpack nicht unterstützt."

0
its_me

Ich habe den Quellcode für Slim Jetpack überprüft und diese Aufgabe kann nicht ausgeführt werden, ohne das Plugin neu zu schreiben.

Hier sind einige Hinweise:

  1. Du musst Zeile 539 von '/modules/infinity-scroll/infinity.php' duplizieren und dabei Folgendes angeben:

    jQuery.extend( infiniteScroll.settings.scripts, <?php echo json_encode( $scripts ); ?> );
    
  2. Sie müssen Zeile 475 von '/modules/infinity-scroll/infinity.js' duplizieren, da dies den unendlichen Bildlauf initialisiert. (Sehen Sie, dass der Variablenname übereinstimmt?)

    infiniteScroll.scroller = new Scroller( infiniteScroll.settings );
    
  3. Darüber hinaus müssen Sie das Modul optimieren, um weitere Attribute zu akzeptieren, oder mindestens das Attribut post_type, um zu bestimmen, welcher post_type für jede Endlosschleife verwendet werden soll. Dies muss sowohl in JS als auch in PHPerfolgen. _ (Rückruf für Ajax-Funktion).

Wie gesagt, das Plugin müsste neu geschrieben werden.

2
david.binda