2

single-posttype.php我的 Word Press模板有这个非常奇怪的错误。模板呈现除 WYSIWYG 类型以外的任何字段。

所以首先它没有呈现the_content(),所以我创建了自定义字段来测试,如果它只是一个文本区域、文本字段、布尔值或其他什么,模板就会呈现它。但只要该字段是所见即所得并包含段落,该字段就不会显示。

基本上我single-posttype.php

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

此帖子类型支持编辑器。

single-post.php和其他模板正确显示所有内容。有任何想法吗?

更新(解决方法):

所以我没有找到任何合适的解决方案来解决这个问题,这就是为什么我不得不想出一个解决方法。由于the_content()函数和过滤器都不会在我的模板中呈现内容文本,因此我使用原始内容get_the_content()(仍然包含 html 标签,如<h1>)并应用于str_replace()添加<br />而不是换行符。在 CSS 中,我以与段落相同的方式设置此内容 div 的样式,并在模板中获得相同的最终外观。这是内容的代码(基于 php.net 的示例):

 $str = get_the_content();
 $order   = array("\r\n", "\n", "\r");
 $replace = '<br />';

 $newstr = str_replace($order, $replace, $str);
 echo $newstr;
4

2 回答 2

2

尝试在您的帖子类型循环之前放置一个<?php wp_reset_query(); ?>,看看是否有帮助。

于 2012-11-08T22:24:15.437 回答
0

Try to specify in the arguments of WP Query your custom post type name. Because custom post type posts are not posts.

$my_query->query(array('post_type' => 'CPT_name', 'post__in' => array($p)));

the_content is displaying nothing for a costum post type

于 2013-04-26T04:50:57.490 回答