亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Wordpress 自定義帖子類型分頁 - /page/2/ 未找到

Wordpress 自定義帖子類型分頁 - /page/2/ 未找到

PHP
慕蓋茨4494581 2023-03-04 10:52:30
這真讓我抓狂。我已經嘗試了所有我能找到的解決方案,但仍然不適合我。我有一個自定義帖子類型。/** * Videos Custom Post Type */function videos_post_type() {    register_post_type( 'videos', array(        'labels' => array(            'name' => 'Videos',            'singular_name' => 'Video',            'add_new_item' => 'Add New Video',            'add_new' => 'Add New Video',            'edit_item' => 'Edit Video',            'new_item' => 'New Video',            'all_items' => 'All Videos'        ),        'public' => true,        'has_archive' => true,        'rewrite' => array( 'slug' => 'videos' ),        'menu_icon' => 'dashicons-format-video'    ));}add_action( 'init', 'videos_post_type' );除了“存檔”頁面上的分頁外,一切正常。分頁鏈接正確顯示,但當我單擊“下一步”時,它以頁面未找到錯誤結束。<div class="ast-row">        <?php            $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;            $loop = new WP_Query( array(            'post_type' => 'videos',            'posts_per_page' => 1,            'orderby'=> 'menu_order',            'paged'=> $paged            ) );            while ( $loop->have_posts() ) {                $loop->the_post(); ?>                <div class="ast-col-md-4">                    <?php echo the_content(); ?>                </div>            <?php } ?>        </div>        <div class="ast-row">            <?php                echo paginate_links( array(                   'total' => $loop->max_num_pages               ) );            ?>        <?php  wp_reset_postdata(); ?>        </div>此外- * 我曾嘗試保存永久鏈接 * 我曾嘗試更改永久鏈接結構 * 我曾嘗試使用 query_posts 而不是 WP_Query --- 這些都不起作用。我還應該提到我沒有創建 single-videos.php 模板(因為我不需要它用于這種帖子類型)但我認為這與此問題沒有任何關系。如果我錯了,請糾正我。我只是無法理解它。如果有幫助,我正在使用 Astra 主題。
查看完整描述

4 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

試試下面(替換你的html)


<?php

          global $loop;

          $query = $query ? $query : $loop;

          $big = 999999999;


          $paginate = paginate_links( array(

            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),

            'type' => 'array',

            'total' => $query->max_num_pages,

            'format' => '?paged=%#%',

            'current' => max( 1, get_query_var('paged') ),

            'prev_previous'  =>('&larr; Older posts'),

            'prev_next'          => ( 'Newer posts &rarr;' ),

            'prev_text' => __('&laquo;'),

            'next_text' => __('&raquo;'),

          ));

          if ($query->max_num_pages > 1) :

        ?>


        <div class="paginate">

          <ul class="pagination">

            <?php

              foreach ( $paginate as $page ) {

                echo '<li>' . $page . '</li>';

              }

            ?>

          </ul>

        </div>

         <?php endif; ?>


查看完整回答
反對 回復 2023-03-04
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

我最近遇到了同樣的問題。不知道是什么問題,但這對我有用。


$pagination = [

    'base' => @add_query_arg('paged','%#%'),

    'format' => '',

    'total' => $the_query->max_num_pages,

    'current' => get_query_var('paged') ?? 1,

    'show_all' => false,

    'mid_size' => 4,

    'type' => 'list',

    'next_text' => '&raquo;',

    'prev_text' => '&laquo;'

];

echo paginate_links($pagination);


查看完整回答
反對 回復 2023-03-04
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

我遇到了同樣的問題,只是發現我的問題的原因是我為我的自定義帖子類型和顯示新 WP_Query 的頁面設置了相同的 slug。



查看完整回答
反對 回復 2023-03-04
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

代替


$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

           ) );


  global $loop;

  $query = $query ? $query : $loop;

  $big = 999999999;


  $paginate = paginate_links( array(

    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),

    'type' => 'array',

    'total' => $query->max_num_pages,

    'format' => '?paged=%#%',

    'current' => max( 1, get_query_var('paged') ),

    'prev_previous'  =>('&larr; Older posts'),

    'prev_next'          => ( 'Newer posts &rarr;' ),

    'prev_text' => __('&laquo;'),

    'next_text' => __('&raquo;'),

  ));

  if ($query->max_num_pages > 1) :

如果不起作用,我有另一個解決方案,請問我


查看完整回答
反對 回復 2023-03-04
  • 4 回答
  • 0 關注
  • 191 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號