查询字符串按自定义字段排序

时间:2017-12-01 作者:David

我有用于自定义帖子类型的代码,用于显示类别帖子的自定义分类。我正在使用高级自定义字段

我想要的是按自定义字段值排序帖子,我想知道如何才能做到这一点?

例如,如果帖子有一个名为“rating”的自定义字段,我如何从最低值到最高值排序帖子?

下面是一个示例代码

<?php $term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'brendovi\' ) ); ?>
            <?php if (have_posts()): query_posts($query_string.\'&posts_per_page=-1&orderby=date&order=ASC\');  ?>
            <?php while( have_posts() ) : the_post(); ?>
这是一段可以很好地显示最新自定义帖子类型帖子的代码,它们具有名为field\\u 1、field\\u 2、field\\u 3的自定义字段。用户将用数值填充这些字段。稍后在单篇文章中,我将计算这些值的总和,然后除以3得到平均值。我们把它叫做field\\u 4。

我一直在显示帖子,并按照带有查询字符串的字段4对其进行排序。

也许我不需要查询字符串?

1 个回复
SO网友:Drupalizeme

这个query_posts 只有当你真正知道自己在做什么时才有用。根据您提供的信息,这应该适合您:

$the_query = new WP_Query(array(
    \'post_type\'         => \'your_cpt\',
    \'posts_per_page\'    => -1,//get them all
    \'meta_key\'          => \'field_4\',
    \'orderby\'           => \'meta_value\',
    \'order\'             => \'DESC\'
));

?>
<?php if( $the_query->have_posts() ): ?>
    <ul>
    <?php while( $the_query->have_posts() ) : $the_query->the_post(); 

        $class = get_field(\'field_4\');

        ?>
        <li <?php echo $class; ?>>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
    <?php endwhile; ?>
    </ul>
<?php endif; ?>

<?php wp_reset_query();  // Restore global post data  ?>

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post

查询字符串按自定义字段排序 - 小码农CODE - 行之有效找到问题解决它

查询字符串按自定义字段排序

时间:2017-12-01 作者:David

我有用于自定义帖子类型的代码,用于显示类别帖子的自定义分类。我正在使用高级自定义字段

我想要的是按自定义字段值排序帖子,我想知道如何才能做到这一点?

例如,如果帖子有一个名为“rating”的自定义字段,我如何从最低值到最高值排序帖子?

下面是一个示例代码

<?php $term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'brendovi\' ) ); ?>
            <?php if (have_posts()): query_posts($query_string.\'&posts_per_page=-1&orderby=date&order=ASC\');  ?>
            <?php while( have_posts() ) : the_post(); ?>
这是一段可以很好地显示最新自定义帖子类型帖子的代码,它们具有名为field\\u 1、field\\u 2、field\\u 3的自定义字段。用户将用数值填充这些字段。稍后在单篇文章中,我将计算这些值的总和,然后除以3得到平均值。我们把它叫做field\\u 4。

我一直在显示帖子,并按照带有查询字符串的字段4对其进行排序。

也许我不需要查询字符串?

1 个回复
SO网友:Drupalizeme

这个query_posts 只有当你真正知道自己在做什么时才有用。根据您提供的信息,这应该适合您:

$the_query = new WP_Query(array(
    \'post_type\'         => \'your_cpt\',
    \'posts_per_page\'    => -1,//get them all
    \'meta_key\'          => \'field_4\',
    \'orderby\'           => \'meta_value\',
    \'order\'             => \'DESC\'
));

?>
<?php if( $the_query->have_posts() ): ?>
    <ul>
    <?php while( $the_query->have_posts() ) : $the_query->the_post(); 

        $class = get_field(\'field_4\');

        ?>
        <li <?php echo $class; ?>>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
    <?php endwhile; ?>
    </ul>
<?php endif; ?>

<?php wp_reset_query();  // Restore global post data  ?>

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post