0
我在一个网站上工作并构建一个自定义的帖子类型。在此自定义帖子类型中,我添加了一个元字段,您可以从1到16中选择一个数字。这些数字与我主页上的特定位置相对应。但现在我的问题出现了。我如何在这些特定职位中查询这些职位而不必重复自己。基于元值的wordpress查询
因此,例如...
这里与meta值1 这里与meta值2 这里meta值后后后3等..
希望有人可以帮助我一点点
我在一个网站上工作并构建一个自定义的帖子类型。在此自定义帖子类型中,我添加了一个元字段,您可以从1到16中选择一个数字。这些数字与我主页上的特定位置相对应。但现在我的问题出现了。我如何在这些特定职位中查询这些职位而不必重复自己。基于元值的wordpress查询
因此,例如...
这里与meta值1 这里与meta值2 这里meta值后后后3等..
希望有人可以帮助我一点点
有几种方法可以解决这个问题,这取决于布局逻辑的复杂程度。如果你基本上只是通过以16个职位需要循环,则可以使用orderby
参数在查询到的帖子进行排序:
$args = array(
'post-type' => 'YOUR_POST_TYPE',
'orderby' => 'meta_value_num',
'meta_key' => 'YOUR_METAFIELD_SLUG'
);
$customposts = new WP_Query($args);
while($customposts->have_posts()): $customposts->the_post();
// loop goes here
如果你需要更复杂的东西,你也许能避免重复查询通过查询一次,然后使用条件来检查元值。例如,用上面的例子查询...
// Position 1 on your page
<div class="position-1">
<?php
while($customposts->have_posts()): $customposts->the_post();
$meta_value = get_post_meta(get_the_ID(), 'YOUR_METAFIELD_SLUG', true);
// Only print something here if the meta value is what we want
if($meta_value == 1) :
the_title();
the_content();
endif;
// Reset the loop
$customposts->rewind_posts(); ?>
</div>
// Position 2 on your page
<div class="position-2">
<?php
while($customposts->have_posts()): $customposts->the_post();
$meta_value = get_post_meta(get_the_ID(), 'YOUR_METAFIELD_SLUG', true);
if($meta_value == 2) :
the_title();
the_content();
endif;
// Reset the loop again
$customposts->rewind_posts(); ?>
....等等。
您可能会发现这些有用的:
感谢这个快速的解答。我一定会使用你的第二个例子,并使用标题和内容的模板部分来干一点干。再次感谢 – Toasty 2015-01-21 07:53:08
后置类型应该是post_type。还是谢谢 – Toasty 2015-01-21 08:11:56