Blade WordPress - пользовательский тип страницы, не отображающий нумерацию страниц - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь настроить нумерацию страниц для созданного мной пользовательского шаблона страницы, который предназначен для показа всех сообщений (это будет целевая страница архива, как только я закончу).

У меня есть настройки для отображения заданного количества постов на странице с помощью `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_CACHE в false в файле wp-config
  • попытался установить prev_text и next_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 голосов
/ 27 октября 2018

Так что я понимаю, что 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, но у него есть свои варианты использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...