Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (8)
  • Как удалить SSH ключи?

    @avprinciple
    rm -rf ~/.ssh
    Ответ написан
    Комментировать
  • Как вывести пагинацию на custom post type?

    @avprinciple Автор вопроса
    Погуглив и помучившись, я выяснил, что с get_posts не работает, нужно менять на WP_Query, я нашел тут сей код:
    Paginating a CPT.

    <?php
    $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
    $args = array(
         'post_type' => 'custom_post_type_name',
         'posts_per_page' => 10,
         'paged' => $paged
    );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
         //CPT. content
    endwhile;
    ?>
    <nav class="pagination">
         <?php
         $big = 999999999;
         echo paginate_links( array(
              'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
              'format' => '?paged=%#%',
              'current' => max( 1, get_query_var('paged') ),
              'total' => $loop->max_num_pages,
              'prev_text' => '&laquo;',
              'next_text' => '&raquo;'
         ) );
    ?>
    </nav>
    <?php wp_reset_postdata(); ?>


    Я от слова совсем не силён в PHP, не знаю как тут в циклах закрываются скобки, в этом коде при выводе html - разметки - ошибка.
    Сопаставив и чуток переписав цикл с wp-kama, у меня всё получилось, навигация вывелась, всё огонь.
    Этот код рабочий, просто цикл переписать надо, или что-то, чего я не знаю в этом коде с примера)

    Мой переписанный код:

    <?php
              $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
                $args = array(
                  'posts_per_page' => 6,
                  'order'          => 'ASC',
                  'post_type'      => 'my_type_post',
                  'paged'          => $paged
                );
                $loop = new WP_Query( $args );
              ?>
              <?php
                if( $loop->have_posts() ) {
                  while( $loop->have_posts() ){
                    $loop->the_post();
                    ?>
                    <h3><?php the_title(); ?></h3>
                    // My HTML
                    <?php
                  }
                  wp_reset_postdata();
                } 
             ?>
    
    // И в нужно контейнере - месте размещаем nav.
    <code lang="php">
           <nav class="pagination">
              <?php
                $big = 999999999;
                echo paginate_links( array(
                  'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
                  'format' => '?paged=%#%',
                  'current' => max( 1, get_query_var('paged') ),
                  'total' => $loop->max_num_pages,
                  'prev_text' => '&laquo;',
                  'next_text' => '&raquo;'
                ) );
              ?>
            </nav>
    </code>

    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (14)