2015-05-05 8 views
2

У меня есть одна страница WordPress, и я отобрал сообщения из определенной категории на одной из страниц. Когда я нажимаю для ссылки с permalink href, я перенаправляю на домашнюю страницу с добавленным/пост-именем/URL-адресом, но не на страницу с сообщением. У меня есть index.php и single.php.wordpress permalink перезагрузить страницу, а не перенаправить на пост

У меня есть этот index.php:

<?php 
    query_posts(array(
     'post_type' => 'page', 
     'posts_per_page' => '-1', 
     'order' => 'ASC', 
     'orderby' => 'menu_order' 
     )); 

    $tpl_parts = array(
     '5' => 'about', 
     '7' => 'team', 
     '76' => 'tech', 
     '81' => 'services', 
     '101' => 'contact', 
     ); 
?> 

<?php get_header('home'); ?> 


<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
      <?php if(array_key_exists($post->ID, $tpl_parts)) : ?> 

       <?php get_template_part('template-parts/'. $tpl_parts[$post->ID], 'template'); ?> 

      <?php else: ?> 
        <section id="<?php echo $post->post_name; ?>"> 
        <div class="container"> 
         <div class="row"> 
          <?php the_content(); ?> 
         </div> 
        </div> 
        </section> 
      <?php endif; ?> 

<?php endwhile; else : ?> 
<?php endif; ?> 


<?php get_footer(); ?> 

Этот код показать все страницы index.php по шаблону части, это работает. Когда я добавил на страницу службы, несколько сообщений, как это:

<section id="services" class="services-section"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-xs-12"> 
        <h2 class="text-left">Services</h2> 
       </div> 
      </div> 
      <?php $inner_query = new WP_Query('category_name=services'); ?> 
      <?php if ($inner_query->have_posts()) : while ($inner_query->have_posts()) : $inner_query->the_post(); ?> 
      <div class="row box-service"> 
       <div class="col-sm-6 col-xs-12"> 
        <?php the_post_thumbnail('full', array('class' => 'img-responsive')); ?> 
       </div> 
       <div class="col-sm-6"> 
        <h3><?php the_title(); ?></h3> 
        <p class="intro"><?php echo the_field('short_caption'); ?></p> 
        <a href="<?php the_permalink(); ?>">More</a> 
       </div> 
      </div> 
      <?php endwhile; else: endif; wp_reset_postdata(); ?> 

     </div> 
    </section> 

Этот код не работает, becouse, когда я хочу, чтобы нажать на ссылку и перейти на сообщение, сайт освежающий с URL-адрес локального хоста/МойВебСайт/name-of-post /, но я хочу перенаправить на страницу публикации. У меня есть файл single.php:

<?php get_header(); ?> 


<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

<section> 
        <div class="container"> 
         <div class="row"> 
          <div class="col-xs-12"> 
          <h2><?php the_title(); ?></h2> 
           <?php the_content(); ?> 
          </div> 
         </div> 
        </div> 
        </section> 
<?php endwhile; else: endif; ?> 


<?php get_footer(); ?> 

Что случилось? Как я могу это исправить? Моя тема игнорирует файлы, такие как page.php или single.php

Спасибо за помощь.

ответ

1

Вы пытаетесь использовать WP_Query в single.php тоже?

И, возможно, попробуйте изменить posts_per_page в верхнем индексе на число ваших страниц вместо -1.

+1

Не имеет значения, поскольку single.php не загружается в Wordpress, тот же заголовок загружается и содержимое. Посмотрите на index.php и single.php. В singe.php у меня есть другой заголовок. Ничего не изменилось. – Robson

+1

Возможно, у вас есть некоторые правила перезаписи на .htaccess? – webski

+0

У меня есть стандартный файл .htaccess – Robson

0

вы можете попробовать это для отображения одной страницы сообщения.

<?php if(have_posts()) : ?> 
<?php while(have_posts()) : the_post(); ?> 

    <div class="post" id="post-<?php the_ID(); ?>"> 
     <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 
      <?php the_title(); ?></a> 
     </h2> 
     <div class="entry"> 
      <?php the_content(); ?> 
     </div> 
    </div> 
<?php endwhile; ?> 
+0

Спасибо за попытку помочь, но он не работает. Страница по-прежнему перезагружается только с добавлением/post-name/на URL-адрес веб-сайта;/ – Robson

+0

теперь попробуйте изменить постоянную ссылку с панели администратора и проверить ее. –

+0

Такая же проблема существует;/ – Robson

0

Хорошо, после нескольких часов траты на эту проблему, я попытался найти, почему page.php и single.php игнорируются.

Плагин Polylang - после того, как он отключен. Все работает нормально.

Спасибо всем за помощь.

Смежные вопросы