【问题标题】:wordpress permalink reload page and not redirect to postwordpress 永久链接重新加载页面,而不是重定向到帖子
【发布时间】:2015-07-14 21:32:09
【问题描述】:

我有 WordPress onepage,我在其中一个页面中显示了特定类别的帖子。 当我单击以使用永久链接 href 链接时,我将重定向到主页,并将 /post-name/ 添加到 url,但没有发布页面。我有 index.php 和 single.php。

我有这个 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>

此代码不起作用,因为当我想单击链接并转到帖子时,网站正在刷新 url localhost/mywebsite/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 之类的文件

感谢您的帮助。

【问题讨论】:

    标签: php wordpress-theming wordpress


    【解决方案1】:

    好的,在这个问题上花费了几个小时后,我试图找出为什么 page.php 和 single.php 被忽略了。

    Polylang 插件 - 关闭后。一切正常。

    感谢大家帮助我。

    【讨论】:

      【解决方案2】:

      您是否也尝试将 Wp_Query 用于 single.php ?

      也许尝试将顶部索引中的posts_per_page 更改为您的页数而不是-1。

      【讨论】:

      • 没关系,因为single.php 没有加载到wordpress,相同的标题和内容被加载。查看 index.php 和 single.php 在 sing.php 中我有不同的标题。没有任何改变。
      • 也许你对 .htaccess 有一些重写规则?
      • 我有标准的 .htaccess 文件
      【解决方案3】:

      你可以试试这个来显示单个帖子页面。

      <?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; ?>
      

      【讨论】:

      • 感谢您尝试帮助我,但它不起作用。页面仍在重新加载,仅将 /post-name/ 添加到网站 url ;/
      • 现在尝试从管理面板更改永久链接并检查一下。
      • 存在同样的问题;/
      • 给我网站直播网址,这样我可以更好地理解。
      • 尝试在index.php文件中替换&lt;?php query_posts(array( 'post_type' =&gt; 'post', 'posts_per_page' =&gt; '-1', 'order' =&gt; 'ASC', 'orderby' =&gt; 'menu_order' ));
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 2016-02-11
      • 2017-12-20
      • 2017-06-06
      • 2017-04-19
      • 2015-12-04
      相关资源
      最近更新 更多