it-swarm.com.de

Hinzufügen von jQuery Infinite Scroll zu My Custom Archive Page

Ich habe derzeit eine benutzerdefinierte Archivseite, auf der mein aktueller Beitrag oben angezeigt wird und die dann auf alle älteren Beiträge darunter verweist. Ich muss die Seite jedoch so aufteilen, dass der aktuelle Beitrag und darunter nur die aktuellen Monatsbeiträge angezeigt werden. Ich möchte das Infinite-Scroll-Plugin von jQuery verwenden, um ältere Beiträge Monat für Monat anzuzeigen, während sie die Seite nach unten scrollen. Dabei werden automatisch die Beiträge des nächsten Monats geladen.

Hier ist mein Code, mit dem ich den aktuellen Beitrag anzeigen muss:

<?php get_header(); ?>
    <div id="members-msg" class="para-element" data-offset="-0.1">
        <div class="third fleft">
            <?php
            global $post;
            $tmp_post = $post;
            $args = array( 'numberposts' => 1, 'category' => 6 );
            $myposts = get_posts( $args );
            foreach( $myposts as $post ) : setup_postdata($post); ?>
                <a href="<?php the_permalink(); ?>"><h2><?php the_title(); ?></h2></a>
                <?/* <?php the_excerpt(); ?> */?>
                <?php the_content();?>
            <?php endforeach; ?>

        </div>
        <div class="twothirds fright">
            <div id="slider-con">
                <ul id="slider">
                    <?php 
                    $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID ); 
                    $attachments = get_posts($args);
                    if ($attachments) {
                        foreach ( $attachments as $attachment ) {
                            echo '<li>';
                            the_attachment_link( $attachment->ID , 'full' );
                            echo '</li>';
                        }
                    }
                    ?>

                </ul>
                            <?php $post = $tmp_post; ?>
            </div>
        </div>
    </div>
</div>
</div>

Hier ist der Code, mit dem ich meine älteren Beiträge anzeigen muss:

<div id="reason-header" class="row-fluid">
<div class="parallax">
    <div class="para-element" data-offset="-0.3">
        <h3>Browse <span>Our</span> Archives</h3>
    </div>
    <div id="reasons-hdr" class="para-image" data-offset="-0.8">
    </div>
</div>
</div>
<div id="all-posts">
<div class="content">
    <?php
     global $post;
     $tmp_post = $post;
     $myposts = get_posts('numberposts=-1&category=6&orderby=date&order=DESC');
     foreach($myposts as $post) :
    ?>
    <?php 
        setup_postdata($post);
                $size = 'thumb';
                $images = get_children(array(
                'post_type' => 'attachment',
                'numberposts' => 1,
                'post_status' => null,
                'post_parent' => $post->ID));
                foreach($images as $image){
                $attachment = wp_get_attachment_image_src($image->ID, $size);
                ?>
                <div class="rea-con" style="background: url(<?php echo   
$attachment[0]; ?>) no-repeat center center;">  
                    <h4><a href="<?php the_permalink(); ?>" title="<?php the_title();?>"><?php the_title(); ?></a></h4>
                </div>
               <?php } ?>
        <?php endforeach; ?>
    <?php $post = $tmp_post; ?>
</div>
</div>  

Wie kann ich den Abschnitt mit dem Code für ältere Posts aufteilen, sodass standardmäßig nur die Posts des aktuellen Monats abgerufen werden und beim Scrollen nach unten automatisch die Posts des vorherigen Monats und beim Scrollen nach unten automatisch der Monat angezeigt werden bevor das Posts sind?

Ich möchte dazu das jQuery Infinite Scroll Plugin verwenden.

Jede Hilfe wird geschätzt.

Vielen Dank!

4
Jeremy

Ich nehme an, das ist eine Seite oder eine Seitenvorlage? Ich hatte ein ähnliches Bedürfnis, also einen Patch an das Infinite Scroll Plugin zu senden um einen neuen Filter infinite_scroll_load_javascript aufzunehmen. Standardmäßig wird das Plugin nicht auf einzelne Posts/Seiten geladen, aber mit diesem Filter können Sie es umschalten, um es zu laden, wo immer Sie möchten.

function wpa_73217($load){
  if(is_page_template('my_special_template.php'))
       $load = true;
  return $load;
} 
add_filter('infinite_scroll_load_javascript', 'wp_73217');

Natürlich müssen Ihre Initialisierungsskripte noch funktionieren, auch wenn Ihre Selektoren korrekt sein müssen.

1
helgatheviking