使用IF函数显示发布查询

时间:2013-03-27 作者:user1855130

我正在编写一个模板,以在列表中显示我的自定义帖子类型。但我只想让帖子显示,如果它对我的一个自定义字段有值的话。我将解释:我的自定义帖子类型是“教员”,自定义字段是“奖项”。该页面将显示所有获得奖项的教员以及有哪些奖项。现在,它只是发布所有认为IF函数存在的教员,以便我的“奖励:”列表仅在有值时显示。如何将此if函数应用于所有帖子?

<?php/*Template Name: Prizes & Awards*/?>
<?php get_header(); ?>

<div id="content" class="wrapper">
<?php query_posts( \'post_type=mtt_page\'); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <div id="post-<?php the_ID(); ?>" <?php post_class(\'page\'); ?>>
        <article>
            <h1><?php the_title(); ?></h1>
            >
            <?php if ( has_post_thumbnail() ) { /* loades the post\'s featured thumbnail, requires Wordpress 3.0+ */ echo \'<div class="featured-thumbnail">\'; the_post_thumbnail(); echo \'</div>\'; } ?>

            <div class="post-content page-content">
                <?php the_content(); ?>
/*This is the custom field*/
<?php
$awards = types_render_field("awards", array("raw"=>"true","separator"=>"<li>", ‘show_name’ => ‘true’));
if( !empty( $awards ) ) {
echo "<b>Prizes and Awards:</b><li>".$awards."</li>";}
?>

            <?php wp_link_pages(\'before=<div class="pagination">&after=</div>\'); ?>
            </div><!--.post-content .page-content -->
        </article>
    </div><!--#post-# .post-->



<?php endwhile; ?>

1 个回复
最合适的回答,由SO网友:vancoder 整理而成

如果我理解您的意思,您希望在查询阶段筛选出没有任何奖项的教员。

替换代码:

<?php query_posts( \'post_type=mtt_page\'); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
使用此(未测试):

<?php
$args = array(
    \'post_type\' => \'mtt_page\',
    \'posts_per_page\' => -1,
    \'meta_query\' => array(
        array(
            \'key\' => \'awards\',
            \'compare\' => \'EXISTS\'
        )
    )
);
$members = new WP_Query( $args );
?>
<?php if ( $members->have_posts() ) while ( $members->have_posts() ) : $members->the_post(); ?>
请注意,我认为EXISTS meta\\u查询比较仅在WP 3.5以后的版本中有效。

正如一些人指出的那样,最好避免发布query\\u帖子。

结束

相关推荐

Multiple Page Templates & CSS

在使用多个页面模板的主题上处理CSS的最佳实践是什么?例如:我将有一个全宽页面模板和一个两列页面模板。最好只在单个CSS中调用容器(#fullWidthContainer vs.#twoColumnContainer)还是为每个页面模板提供单独的CSS文件更好?