所以我有一个客户谁有工作人员得到评论。客户希望将他们的生物页面与他们的评论页面分开。我有一个bios的页面模板和评论。
每个推荐书都有一个ACF关系字段,客户可以在其中选择评论的生物。这些评论将由客户手动输入,因为它们特定于他们自己的客户。
如何获取分配给特定人员的评论,然后将其显示在该人员单独的评论页面上。
我尝试了这个并且它给了我一个数组,但遗憾的是我输入的每个测试评论而不仅仅是分配给特定人的两个
<?php
/*
* Query posts for a relationship value.
* This method uses the meta_query LIKE to match the string "123" to the database value a:1:{i:0;s:3:"123";} (serialized array)
*/
$subject = the_field('testimonial_broker', $post->ID);
$testimonials = get_posts(array(
'post_type' => 'testimonial',
'posts_per_page' => -1,
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => 'testimonial_broker',
'value' => $subject,
'compare' => 'LIKE',
)
)
));
var_dump($testimonials);
?>
<?php if( $testimonials ): ?>
<?php foreach( $testimonials as $testimonial ): ?>
<?php
$photo = get_field('testimonial_logo', $testimonial->ID);
$testimonial_text = get_field('testimonial_body', $testimonial->ID);
var_dump($photo);
var_dump($testimonial_text);
?>
<div class="row testimonial align-items-center">
<div class="col-lg-3">
</div>
<div class="col-lg-9 bg-offwhite">
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
答案 0 :(得分:0)
$subject = get_field('testimonial_broker', post->id); //returns post object
$testimonials = get_posts(array(
'post_type' => 'testimonial',
'post_per_page' => -1,
'post_status' => 'publish',
'meta_query' => array(
array(
'testimonial_broker', // name of custom field
'value' => '"' . $subject->id. '"',
'compare' => 'LIKE'
)
)
));
我正在研究为什么必须用引号括起来的解释。使用LIKE将通配符附加到字符串以匹配多个,但不清楚为什么引号有效,而简单的等于不会。