我希望只在自定义字段数据存在时显示以下循环,如果不存在,我不想显示任何内容。
<?php while (have_posts()) : the_post(); $data = get_post_meta( $post->ID, \'key\', true );?>
<!-- info -->
<?php endwhile; ?>
有什么猜测吗?提前感谢。
我希望只在自定义字段数据存在时显示以下循环,如果不存在,我不想显示任何内容。
<?php while (have_posts()) : the_post(); $data = get_post_meta( $post->ID, \'key\', true );?>
<!-- info -->
<?php endwhile; ?>
有什么猜测吗?提前感谢。
如果您想避免预处理数据,这将起作用(尽管这绝对是一种快速而肮脏的方法):
<?php while (have_posts()) : the_post(); ?>
<?php $data = get_post_meta( $post->ID, \'key\', true ); ?>
<?php if( $data != \'\' ) : ?>
<!-- info -->
<?php endif; ?>
<?php endwhile; ?>
否则(如果您需要最好的功能,这绝对是更好的方式),您可以通过数据进行初步循环(甚至使用meta获取不同的数据),确定是否有任何帖子包含meta,然后有条件地执行循环。您可以更改query_posts
甚至不更改模板文件的行为。
function custom_query($request) {
$params = array(
\'meta_key\' => \'custom_field_name\',
\'meta_value\' => \'custom_field_value\'
);
return array_merge($request, $params);
}
add_filter(\'request\', \'custom_query\');