是否按为数组的自定义字段排序?

时间:2014-10-11 作者:idjuradj

是否可以根据数组中的post值(但使用数组的最后一个元素)对查询中的post进行排序?

代码如下所示:

<?php

$mostsharedposts= new WP_Query( 
        array( \'posts_per_page\' => 10,
               \'meta_key\' => \'mashsb_shares\',
               \'orderby\' => \'meta_value\', 
               \'order\' => \'DESC\' ) );

while ( $mostsharedposts->have_posts() ) : $mostsharedposts->the_post();

/* Loop here e.g.:*/

endwhile;
?>
meta_value 是一个数组,我只需要该数组的最后一个元素。我是否可以使用explode()end() 然后按变量排序还是。。。?任何想法都会有帮助:)

1 个回复
SO网友:Rarst

在从数据库检索帖子的阶段,这是不可能的(或者至少是不切实际的),因为数组是由PHP序列化存储在元表中的,SQL无法有效地动态处理它们。

对于检索到的特定帖子集,这很容易做到,只需对结果进行排序即可$mostsharedposts->posts 在输出之前。但这并不能让你按照那个顺序连续分页。

简而言之,如果您希望以可靠的非黑客方式实现这一点,您可能希望将该值在数组中的副本拆分为单独的元字段。

结束

相关推荐

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

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