Wsparcie » Motywy » Ogarnąć pre get posts

  • Hej!

    Nie mogę ogarnąć modyfikacji pętli przez pre get posts, że mój angielski tak średnio na jeża to postanowiłem napisać tutaj. Generalnie wszystko się zaczęło przez paginacje w archiwum custom posts gdzie klikniecie w link na paginacji zamiast przenosić na kolejna stronę pokazywało stronę główną.
    Poradzono mi żebym skorzystał z pre get posts. W sumie i tak muszę ogarnąć tą funkcję bo przyda przy kolejnym pomyśle.
    Mam teraz takie coś, jeszcze chyba muszę zmienić taką paginację na offset?

    <?php
                        function pagi( $bitwyArchive ) {
                                                if ( is_archive()  && $bitwyArchive->is_main_query()    ) {
                                                    $bitwyArchive->set( 'posts_per_page', '2' );
                                                }
                                            }
                                            add_action( 'pre_get_posts', 'pagi' );
                       
                    ?>
               
    
                    <?php
                    $bitwyArchive = new WP_Query();
                    
                    if ($bitwyArchive->have_posts() ) {
                        while ( $bitwyArchive->have_posts() ) {
                            $bitwyArchive->the_post(); ?>
                            
                            
                
                <div class="cal">
                  
                  
                    <h4><?php the_title() ?></h4>
                    <?php the_content() ?>
                </div>
                
                
                <?php  }
                        
                        wp_reset_postdata();      
                       
                    } else {
                        
                    }
                    ?>
                    
                
            </div>
            <div class="pagination">
                    
    				    
    				    <?php
                           
    
                            $big = 999999999; // need an unlikely integer
    
                            echo paginate_links( array(
                                'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
                                'format' => '?paged=%#%',
                                'current' => max( 1, get_query_var('paged') ),
                                'total' => $bitwyArchive->max_num_pages,
                                'prev_text' => '«',
                                'next_text' => '»',
                                'type' => 'list'
                            ) );
                        ?>
    				    
    				</div>

    Kombinuje z tym i jak na razie to ze standardową pętlą mi działa tylko pre get posts w dodatku też nie tak jak bym chciał bo nie ogranicza postów do ilości jaką podaje mimo, że zgodnie z codexem robie. Przynajmniej tak mi się wydaje 🙂

  • Temat ‘Ogarnąć pre get posts’ jest zamknięty na nowe odpowiedzi.