Wordpress:显示自定义帖子类型详细信息页面

时间:2014-09-08 12:46:28

标签: php wordpress

我创建了一个名为product的自定义帖子类型。之后,我创建了一个模板文件,以显示该页面上的所有产品,并编写以下代码:

<?php $loop = new WP_Query( array( 'post_type' => 'acme_product',
                                   'posts_per_page' => 14 ) );
      while ( $loop->have_posts() ) : $loop->the_post();
?>
<div>
<div>
<?php the_post_thumbnail('thumbnail');
?>
</div>
<div>
<?php the_title( '<h2 class="entry-title"><a href="'.get_permalink().'" title="'.
                 the_title_attribute( 'echo=0' ).
                 '" rel="bookmark">', '</a></h2>' );
?>
</div>
</div>
<?php endwhile;
?>

但是当我点击产品标题链接时,它将不会显示我的产品详细信息页面。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您需要将模板另存为single-{post_type}.php,因此在您的情况下,single-acme_product.php会保证,如果不是

,请确保启用固定链接
  • 登录您的WordPress管理员。
  • 转到设置 - &gt;固定链接。在Common Settings下,让我们使用Post name。
  • 然后点击“保存更改”

根据您的代码,您不需要在此处定义post_type。只需使用简单的代码

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

答案 1 :(得分:0)

听起来好像您已经知道如何循环使用产品类型。如果您是自定义帖子类型的新手并且尚未意识到这一点,我建议您调查&#34;存档&#34;自定义帖子类型的模板( archive- {post_type} .php )。我看到了另一个引用 single-{post_type} .php 的答案;这两个都可以在WP Codex的Template Hierarchy文档中找到。默认情况下,如果您没有为帖子类型提供自定义的单个模板,它将回退到single.php(如果您希望它为多个帖子类型执行双重任务,则可能需要自定义)。

考虑到这一点,假设您已经在主题中使用了single-product.php(或者另外coaxed Wordpress into using your template),那么了解您遇到的症状会很有帮助:

  • 你有404?这可能是一个固定链接问题,如果您还没有尝试过,可以考虑刷新重写规则。这可以通过访问设置 - &gt;来完成。仪表板中的永久链接面板。
  • 您的模板是否正在使用?请考虑在模板中添加一些HTML注释,并在呈现的版本上查看源代码,以确保您甚至使用正确的文件。无法加载适当的模板可能是由于文件名错误或其他一些干扰正常模板选择逻辑的逻辑。
  • 如果您获得了正确的模板,但是您无法显示正确的详细信息,那么您是否正在使用单个模板的循环做任何特别的事情?

如果没有明确详细说明您实际遇到的症状,很难给您更好的指导。希望这些信息能够为您指出正确答案,但如果没有,请分享有关您最终结果的详细信息。