我正在制作一个wordpress主题,我想在主页上显示更多的页面。我制作了home.php,它的开头是这样的:
$args = array(
'post_type' => 'page',
'post__in' => explode(",",get_option('fp_pages')));
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ): $the_query->the_post();
....我有一个大问题。fp_pages有以逗号分隔的页ids。我希望它们能按这个顺序显示在页面上,但结果是不同的。it的顺序并不重要--它们总是一样的,但是我想要它,就像我在fp_pages中写的那样。
我在网上做了一些研究,发现了FIND_IN_SET()。我的问题是我不知道如何将它集成到wordpress查询中。另一种可能是一个接一个地从数据库中加载它们,但恐怕它会减慢页面加载速度(我指的是最多8-10页)。
所以你能帮我把FIND_IN_SET()集成到wordpress查询中吗?或者一个一个地加载是个好主意还是告诉另一个解决方案:)
发布于 2014-10-17 04:30:43
您需要看看Order & Orderby参数 of WP_Query。由于Wordpress 3.5,您可以选择按ID保留post__in中的帖子顺序
'post__in' -保留在
post__in数组中给出的post ID顺序(可与版本3.5一起使用)。
因此,您可以简单地将'orderby' => 'post__in',添加到查询参数中。
https://stackoverflow.com/questions/26414841
复制相似问题