我使用WP插件“自定义帖子类型UI”和我自己的模板将一些内容添加到我的wp页面。
<div id="AboutMain">
<?php
/* the original page contents */
while (have_posts()) {
the_post();
get_template_part('content', 'page');
/* New set of data fetched from my custom post types */
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'styrelse'
));
if($posts)
{
foreach($posts as $post)
{
$namn=get_the_title($post->ID);
$desc=get_the_content($post->ID);
echo "
<div class='styrelsen art-postcontent'>
<h5 class='art-postcontent'>$namn</h5>
<p>$desc</p>
</div>
";
}
}
现在我得到了一个非常奇怪的行为 - 因为我已经使用自定义查询设置了$ posts,在for-each循环中它不应该包含基本页面内容了,但我的自定义帖子类型内容是对的吗?
但是get_the_content($ post-&gt; ID);获取页面的原始内容,并在get_the_title($ post-&gt; ID)时反复重复;为我找回正确的标题。
的 的 ** * ** * ** < / strong> 已解决 ** * ** * ** * ****
好的,我就是这样做的。
首先我意识到使用该全局变量名称可能不是最好的idéa所以我将其更改为$ board_posts。
然后我转储了该变量以找出如何“手动”访问标题和正文,结果发现它比我初想的要容易。
foreach($styrelse_posts as $post)
{
$namn = $post->post_title;
$desc = $post->post_content;
试错大多数问题=)
答案 0 :(得分:0)
使用$post
作为变量可能会导致一些奇怪的行为,因为Wordpress将其用作全局变量。我建议您尝试在setup_postdata($post)
之前调用get_the_title($post->ID)
,或者将foreach更改为foreach($posts as $p)
并使用$p->ID
作为参数。