it-swarm.com.de

Hinzufügen einer Paginierung auf einer benutzerdefinierten Autorenseite

ich habe eine benutzerdefinierte Autorenseite erstellt, die den Titel ihrer Beiträge auflistet. Aber das Problem ist, dass ich die Paginierung nicht zum Laufen bringen kann, wenn sie jenseits des festgelegten Post-per-Page-Werts liegt. Ich habe get_posts () zu seiner benutzerdefinierten Schleife verwendet.

<?php 
                    $ppp = 5; //set my custom number of post to appear
                    $uid = $curauth->ID;
                    $args = array(
                                    'numberposts' => $ppp,
                                    'author' => $uid

                                );
                    $authorposts = get_posts($args);
                    //print_r($authorposts);
                    if ( count( $authorposts ) > 0 ) {               

                        foreach ( $authorposts as $post ):  setup_postdata($post)            ?>
                            <li>


                                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>" class="authorpostlink"><?php the_title(); ?></a>
                                <?php the_excerpt(); ?>
                            </li>
                    <?php endforeach;  ?>
                        <div class="post-nav">
                            <div class="previous"><?php previous_posts_link('&lsaquo; Previous Page') ?></div>
                            <div class="next"><?php next_posts_link('Next Page &rsaquo;') ?></div>
                        </div>
                    <?php
                    } else {
                        echo '<p>No articles by this user</p>';
                    }       
                    ?>

Dies sollte 5 Posts mit dem Titel und dem Auszug des Autors anzeigen, ... aber der Rest der Posts des Autors ist nicht paginiert, was paginiert ist, ist die Gesamtzahl der Posts im Blog.

1
Ven

Fügen Sie den folgenden Code in Ihre functions.php-Datei ein.

function limit_posts_per_page() {
if ( is_author() ) // you can limit other pages as well ( i.e. is_archive() ), if need be.
    return 5;
}
add_filter( 'pre_option_posts_per_page', 'limit_posts_per_page' );

Stellen Sie sicher, dass Sie die Vorlage author.php verwenden, da sie sonst nicht funktioniert. Schauen Sie sich den author.php von twentyten an, um Best Practices zu finden.

6
VicePrez