我在Wordpress中设置了自定义帖子类型。客户端可以上传PDF格式的文档。这些文件分为两类 - “可下载的表格”和“菜单”;该类别的自定义字段名称为'document_category'
我正在尝试运行查询,只在页面上显示“可下载表单”。这是我通常使用的代码 - 我希望有人可以帮助我添加我需要的代码以使其工作?
<?php
$args = array('post_type' => 'prep_forms', 'posts_per_page' => -1);
// The Query
$the_query = new WP_Query( $args );
// The Loop
$i = 0;
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
<li><a href="<?php echo get_field('document_pdf_file'); ?>"><?php the_title(); ?></a></li>
<?php
$i++;
endwhile;
// Reset Post Data
wp_reset_postdata();
?>
感谢。
答案 0 :(得分:0)
好吧,你可以使用is_category();内部循环,只显示那些帖子,如此(使用相同的代码):
<?php
$args = array('post_type' => 'prep_forms', 'posts_per_page' => -1);
// The Query
$the_query = new WP_Query( $args );
// The Loop
$i = 0;
while ( $the_query->have_posts() ) : $the_query->the_post();
if(is_category('Sownloadable Forms')){ // here the condition
?>
<li><a href="<?php echo get_field('document_pdf_file'); ?>"><?php the_title(); ?></a></li>
<?php
$i++;
} // here ends the IF statment
endwhile;
// Reset Post Data
wp_reset_postdata();
?>
更好的是:http://codex.wordpress.org/Function_Reference/is_category
希望有所帮助。
答案 1 :(得分:0)
<?php
$args = array('post_type' => 'prep_forms', 'posts_per_page' => -1);
// The Query
$the_query = new WP_Query( $args );
// The Loop
$i = 0;
while ( $the_query->have_posts() ) :
$the_query->the_post();
// Get all Advanced custom fields
$my_custom_fields = get_fields(get_the_ID());
// Does document_category field exists and is it equal with 'Downloadable Forms'?
if(isset($my_custom_fields['document_category']) && $my_custom_fields['document_category'] == 'Downloadable Forms'):
?>
<li><a href="<?php echo get_field('document_pdf_file'); ?>"><?php the_title(); ?></a></li>
<?php
endif;
$i++;
endwhile;
// Reset Post Data
wp_reset_postdata();
?>
我使用了高级自定义字段插件的get_fields($post_id = false)
功能,该插件返回所有帖子的自定义字段的数组,然后根据您的需要对其进行过滤。
希望我帮助
答案 2 :(得分:0)
为什么不简化并根据自定义字段数据设置查询?
<?php
$count = 1;
$args = array(
'post_type' => 'any',
'posts_per_page' => 4,
'meta_key' => 'display',
'meta_value' => 'true'
);
$query = new WP_Query();$query->query($args);
while ($query->have_posts()) : $query->the_post();
$do_not_duplicate[] = $post->ID;
?>
<!-- query content -->
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf( esc_attr__( 'Permalink to %s', 'advanced' ), the_title_attribute( 'echo=0' ) ); ?>" ></h2>
<?php the_excerpt() ;?>
<!-- query content -->
<?php $count++; endwhile; wp_reset_query(); ?>
这样,任何包含自定义字段键显示和自定义字段值 true 的帖子都会显示在您的查询中。