我有WP_query查找产品。
'<?php
$args = array(
'post_type' => 'products',
'posts_per_page' => -1 ,
'order' => 'ASC',
'orderby' => 'menu_order',
);
$products = new WP_Query( $args );?>
<?php if ( $products->have_posts() ) : ?>
<!-- layout stuff -->
<?php while ( $products->have_posts() ) : $products->the_post(); ?>
<!-- layout stuff -->'
在产品循环中,get_posts提取CPT帖子列表。
'<?php
$serviced_ids = get_field('serviced');
$serviced = get_posts(array(
'post_type' => 'services',
'posts_per_page' => -1
));
?>
<?php if( $serviced ): ?>
<!-- layout stuff -->
<?php foreach( $serviced as $service ): ?>'
在每个CPT帖子旁边,它会查看该产品是否存在ACF关系。如果是,则显示“是”,否则显示“否”。
'<?php
if( !empty($serviced_ids) && is_array($serviced_ids) &&
in_array($serviced->ID, $serviced_ids) ): ?>
Yes
<?php else: ?>
No
<?php endif; ?> '
到目前为止一切都很好...
然后,如果CPT ID等于50,我想在ELSE输出中添加一个条件元素。我无法使其正常工作。
我尝试过
'<?php else: ?>
<?php if($products->ID = 50): ?>
<?php echo $something; ?>
<?php endif; ?>'
我对PHP的流利程度不是很好,无法超越。
我正在寻找的输出是:
产品名称
产品名称
答案 0 :(得分:0)
感谢Pendo使用get_the_ID()向正确的方向前进。我需要的代码行是:
'<?php if( get_the_ID() === 50) : ?>'