【发布时间】:2016-04-05 15:17:29
【问题描述】:
目前所有帖子都按类别列出, 我需要通过元键过滤列表。我使用了过滤器('posts_where'),但所有查询都已更改。 我需要在正在生成的现有 sql 中添加 WHERE 条件。
【问题讨论】:
-
如何在插件中添加过滤器?
目前所有帖子都按类别列出, 我需要通过元键过滤列表。我使用了过滤器('posts_where'),但所有查询都已更改。 我需要在正在生成的现有 sql 中添加 WHERE 条件。
【问题讨论】:
function get_filtered_post( $args, $meta, $value ){
$posts = get_posts( $args );
$ids = array();
foreach( $posts as $post ){
$id = $post->ID;
if( get_post_meta( $id, $meta, true ) == $value ){
$ids[] = $id;
}
}
return $ids;
}
$args = array( 'post_type' => 'post', 'posts_per_page' => -1 );
$IDofPost = get_filtered_post( $args, 'my-meta-key', 'the-metas-value' );
foreach( $IDofPost as $id ){
echo get_the_title( $id );
}
希望这个功能会有所帮助。它返回具有给定帖子元值的帖子 ID。
【讨论】: