我有自定义的帖子类型推荐,我正在尝试显示标题,内容和精选图片。
这是我的代码:
<?php
$args = array('posts_per_page' => -1, 'post_status' => 'publish', 'post_type' => 'testimonial');
$testimonialsposts = get_posts($args);
?>
<div class="row">
<?php
foreach ($testimonialsposts as $post)
{
setup_postdata($post);
?>
<div class="testimonial-box projectitem">
<img src="<?= get_post_meta($post->ID, '_wp_attached_file', true); ?>"/>
</div>
<div class="testimonial-contact">
<div class="testimonial-text"><?= get_post($post->ID, 'content', true); ?></div>
<div class="testimonial-name"><?= get_post($post->ID, 'post_title', true); ?></div>
<?php wp_reset_postdata();
} ?>
</div>
但我一无所获。当我尝试在setup_postdata之后回显细节时,它只回显&#34;数组&#34;。
当我var_dump $ post时,它也会显示所有数据。
这是我var_dump
$post
对象(WP_Post)#614(24){[&#34; ID&#34;] =&gt; int(69)[&#34; post_author&#34;] =&gt; 字符串(1)&#34; 1&#34; [&#34; POST_DATE&#34;] =&GT; string(19)&#34; 2017-08-22 02:26:43&#34; [&#34; post_date_gmt&#34;] =&GT; string(19)&#34; 2017-08-22 02:26:43&#34; [&#34; POST_CONTENT&#34;] =&GT; string(575)&#34; Lorem Ipsum只是虚拟文本 印刷和排版行业。 Lorem Ipsum一直是 自16世纪以来,当一个未知的时候,业界的标准虚拟文本 打印机拿了一个类型的厨房,并乱扰它制作一个类型标本 书。它不仅存在了五个世纪,而且还在飞跃中存活下来 电子排版,基本保持不变。它是 随着Letraset床单的发布,在20世纪60年代普及 包含Lorem Ipsum段落,最近还有桌面版 像Aldus PageMaker这样的出版软件,包括Lorem的版本 存有&#34。 [&#34; POST_TITLE&#34;] =&GT; string(13)&#34; testimonial_1&#34; [&#34; post_excerpt&#34;] =&GT; string(0)&#34;&#34; [&#34; post_status&#34;] =&GT;字符串(7)&#34;发布&#34; [&#34; comment_status&#34;] =&GT;字符串(6)&#34;关闭&#34; [&#34; ping_status&#34;] =&GT;串(6) &#34;关闭&#34; [&#34; post_password&#34;] =&GT; string(0)&#34;&#34; [&#34; POST_NAME&#34;] =&GT;串(11) &#34;个人鉴定&#34; [&#34; to_ping&#34;] =&GT; string(0)&#34;&#34; [&#34;执行ping操作&#34;] =&GT; string(0)&#34;&#34; [&#34; post_modified&#34;] =&GT; string(19)&#34; 2017-08-22 02:27:07&#34; [&#34; post_modified_gmt&#34;] =&GT; string(19)&#34; 2017-08-22 02:27:07&#34; [&#34; post_content_filtered&#34;] =&GT; string(0)&#34;&#34; [&#34; post_parent&#34;] =&GT; INT(0) [&#34; GUID&#34;] =&GT;串(63) &#34; http://192.168.0.202/clinic202/?post_type=testimonial&p=69&#34; [&#34; menu_order&#34;] =&GT; int(0)[&#34; post_type&#34;] =&gt; string(11)&#34; testimonial&#34; [&#34; post_mime_type&#34;] =&GT; string(0)&#34;&#34; [&#34; COMMENT_COUNT&#34;] =&GT; string(1)&#34; 0&#34; [&#34;过滤器&#34;] =&GT; string(3)&#34; raw&#34; }
我做错了什么?
答案 0 :(得分:1)
我知道您正在使用get_posts
,但这就是我要做的事情,使用wordpress
循环查询帖子和循环,而不是使用foreach
。
试试这个
<?php
query_posts(array(
'post_type' => 'testimonial',
'posts_per_page' => -1,
));
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="testimonial-box projectitem">
<?php echo wp_get_attachment_image( get_post_thumbnail_id( $post->ID ), '', 'false', array( "class" => "img-responsive" ) ); ?>
</div>
<div class="testimonial-contact">
<div class="testimonial-text"><?php the_content();?></div>
<div class="testimonial-name"><?php the_title(); ?></div>
</div>
<?php endwhile; endif;
wp_reset_postdata();
wp_reset_query(); ?>
您还在foreach
内关闭<div>
,这会破坏您的html
代码。