如何按日期订购帖子 - 从wp_query和自定义字段中提取帖子ID

时间:2017-09-21 15:45:39

标签: wordpress custom-fields

我正在使用自定义字段套件插件向我的页面添加帖子。在我的页面上,使用下面的代码,帖子按标题按字母顺序显示(这是因为在页面编辑器的小部件中,它们按字母顺序排序,但也可以手动移动)。

但是,我希望它们按发布日期显示。

以下是我正在使用的自定义字段套件字段类型:http://customfieldsuite.com/field-types/relationship.html

我的代码

// The Query
$archive = CFS()->get('archive'); //getting posts from widget

foreach ( $archive as $post_id ) {
    $the_post1 = get_post( $post_id );
    $the_post = $the_post1->ID;

$the_query2 = new WP_Query( array(
'p' => $the_post,
'orderby' => 'date', //this isn't working
'order' => 'ASC'
));

// The Loop
if ( $the_query2->have_posts() ) {
    echo '<ul>';
    while ( $the_query2->have_posts() ) {
        $the_query2->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
    echo '</ul>';
    /* Restore original Post Data */
    wp_reset_postdata();
} else {
    // no posts found
}
}

1 个答案:

答案 0 :(得分:1)

您可以将所有ID存储在数组中,然后在WP_Query中搜索它们,并且您可以在不声明$ the_post1和$ the_post的情况下节省一些空间,因为您已经获得了帖子ID。

qry = (from row in iockmas.DataTable.AsEnumerable()
    where row[Schema_CreditCardFile.Fields.AutomaticBillYN.ToString()].ToString() == "Y"          
    select row);

var bracct = (from x in qry select new { x["Branch"].ToString(), x["Account"].ToString() }).ToArray();  

对于未来的WP_Query Rerefence:https://codex.wordpress.org/Class_Reference/WP_Query