我的帖子链接到哪里?我一直收到一个Not Found错误,而且我没有Single.php页面

时间:2012-09-02 作者:Caleb Hallahan

最近有人为我定制了一个WP博客。这个人做的工作不是很有意愿,所以我决定自己做。我自定义了自己的博客页面,所有这些都可以正常工作,但当我点击这些帖子时,我会看到一个“找不到错误”页面。我浏览了一些人写的旧博客,我不知道那个人把我的帖子链接到了哪里。我唯一的线索是<?php the_content(); ?>:

<?php wp_link_pages( array( \'before\' => \'<div class="page-link">\' . __( \'Pages:\', \'twentyten\' ), \'after\' => \'</div>\' ) ); ?>
当我定制自己的页面时,我遗漏了这段代码。现在,当我点击帖子时,我发现一个“找不到错误”,这是我的博客页面:

    <?php
/*
Template Name: Blog
*/
?>

<?php get_header(); ?>

<br/>

<br/>

<section id="content">

  <div class="main">

    <div class="inner">

      <h3 class="h3 bg-3">Web   Design   inspiration,  all   resources  you   could   need !</h3>

    </div>

  </div>

  <?php if (have_posts()) : ?>

  <?php query_posts(\'posts_per_page=3\'); ?>

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

  <div class="main">

    <div class="cycle">

      <div id="slider3" class="pics">

        <div class="box">

          <article>

            <figure class="box-img img-indent"><a class="lightbox-image box-image" data-gal="prettyPhoto" href="<?php echo catch_that_image() ?>"><img src="<?php echo catch_that_image() ?>" alt="" /></a></figure>

            <div class="inner"><a class="link-1" href="<?php the_permalink() ?>" title="Go to <?php the_title(); ?>"><?php the_title(); ?></a><br>

              <div class="txt-3"><strong>Posted on:</strong> <span><?php the_time(\'m/d/y\') ?></span></div>

              <p class="p3"><?php the_content() ?>
              </p>

            </div>

            <div class="clear"></div>
        <?php endwhile; ?>
          </article>



        </div>

      </div>

    </div>

    <br/>
    <br/>

    <div class="navigate2">

      <div id="nav"></div>

      <?php next_posts_link(\'<span id="next_slide2"> </span>\') ?></div>

  </div>

  <?php else : ?>
<h2 class="center">Not Found</h2>
<p class="center">Sorry, but you are looking for something that isn\'t here.</p>
<?php endif; ?>

</section>

<?php get_footer(); ?>
提前感谢!(另外,我在本地主机上工作,所以我没有你可以访问的网页。)

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

您在问题中包含的文件是一个自定义页面模板,WordPress永远不会使用它来呈现博客文章的单个文章视图。

如果你没有single.php, 然后the template hierarchy will fall back to index.php 为博客文章呈现单个文章视图。

从下面的评论中编辑:

我很抱歉。我需要我的Posts 链接到individual [page]. 我不知道怎么做。我以为WP会自动链接我的posts 到名为single.php. 我想知道怎么做。

请通读一遍the Template Hierarchy Codex entry, 这为你解释了一切。我重复上面的回答:If your Theme doesn\'t have a single.php, then the template hierarchy will fall back to index.php to render the single-post view for blog posts.

WordPress只能使用这两个模板文件来呈现博客文章的单篇文章视图。

关于此评论:

我不知道如何使我的永久链接到一个单一的。php页面,我不希望它们链接回索引。php页面。

我认为您还没有完全掌握WordPress如何使用其模板文件。这个index.php 文件不是“页面”,而是用于输出给定查询的模板。主题只能由以下模板文件组成index.php, 现场将呈现出完美的效果,符合预期/预期。WordPress只需使用模板定义用于在给定查询中呈现数据的标记。

如果该查询是博客帖子索引,那么WordPress将使用它来呈现博客帖子索引的所有帖子。如果该查询是存档索引,WordPress将使用它呈现指定存档中的所有帖子。如果该查询是single blog post, 然后WordPress将使用该模板render a single blog post.

那么:有没有particular reason 你不想让你的主题回到index.php 模板文件来呈现单个博客帖子?

结束

相关推荐

WP_Query vs get_posts

我读过一本number of questions 关于这些,我仍然无法计算wrt用法的确切区别。如果我需要在数组中返回结果,那么我可能会对大多数次级循环使用WP\\u Query,并且只使用get\\u posts,或者换句话说,这是数组和对象返回之间的主要区别,还是我应该注意其他一些主要因素?