Blade WordPress-自定义页面类型不显示分页

时间:2018-10-27 06:08:34

标签: wordpress pagination laravel-blade

我正在尝试分页处理我制作的自定义页面模板,该模板旨在显示所有帖子(完成后将成为存档着陆页)。

我已经设置了一些东西,可以使用`wp_query在每页显示一定数量的帖子。显示正确数量的帖子,它们的链接有效,但是我无法通过分页成功工作。

如果我使用下面的设置,则会出现错误:Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: syntax error, unexpected end of file in web/app/uploads/cache/0cefb280e2bc87c5c0311d7606b77c153f8da2b0.php on line 531

我尝试过:

  • wp-config文件中将WP_CACHE设置为false
  • 尝试将prev_textnext_text设置为true
  • 不包括$paginate_links部分
  • 删除有问题的cache文件夹(它将重新创建)
  • 在结束@php wp_reset_postdata() @endphp之前添加@endwhile,但这使if出现意外错误
  • 使用{!! get_the_posts_navigation() !!}只是为了看看会做什么

我完全被困住了-在使用WP之前,我从未遇到过类似的事情(尽管我是Blade模板的新手)。我可以在此自定义页面模板上显示帖子,但无法设置分页功能-到目前为止,我一整天都被困住了。

 @extends('layouts.app')
    @section('content')
      @php

        global $post;
            $args = array(
                'prev_text'      => false,
                'next_text'      => false,
                'format'         => 'page/%#%#posts'
            );

      @endphp
      <div class="news-page-content">
        <div class="max-wrap">
          <div id="article-list" class="article-list-container">

            <div class="article-list">
              @php
                global $wp_query;

                  $wp_query = new WP_Query ( array(
                    'post_type'          => 'post',
                    'post_status'        => 'publish',
                    'posts_per_page'     => 4,
                    'orderby'            => 'DESC',
                    'ignore_sticky_posts'=> true,
                    'nopaging'           => false,
                    'paged'              => true
             ));
              @endphp
              @if( $wp_query->have_posts() )
                @while( $wp_query->have_posts() ) @php $wp_query->the_post() @endphp
                <div>
                  <a href="{{ get_the_permalink() }}">

                    <h3>{{ the_title() }}</h3>
                    <h4>{{ get_the_date( 'm/d/Y' ) }}</h4></a>
                </div>
                @endwhile
                  @php wp_reset_query() @endphp
              @endif
              <div class="bottom-pager">
                    <div class="prev-next">@php posts_nav_link(' ','PREV PAGE','NEXT PAGE') @endphp</div>

                    <div class="pager">
                        {!! paginate_links($args) !!}
                    </div>
                </div>
            </div>
          </div>
        </div>
      </div>

@endsection

1 个答案:

答案 0 :(得分:0)

因此,我的理解是paginate_links()global $wp_query一起使用,因此使用自定义查询会遇到问题。您可以尝试以下吗? 而不是这样做

$postlist_query = new WP_Query ( array(

您可以调整global $wp_query

global $wp_query;
$wp_query = new WP_Query ( array(

:不要忘记在查询循环后通过使用wp_reset_query()重设查询


免责声明:我通常反对更改global $wp_query,但它有用例。