WP_Query or get_posts?

时间:2013-03-15 作者:urok93

使用“fields”=>“ids”参数时,在下面的代码中创建新的WP\\u查询是否比执行get\\u post更好?

如果使用WP\\u查询,循环会是什么样子?

function myplugin_delete_image_items( $postid ) {

    $args = array(
        \'post_type\'     => \'myplugin_image_item\', 
        \'cache_results\' => false,   // Disable caching, used for one-off queries
        \'no_found_rows\' => true,    // We don\'t need pagination, so disable it
        \'fields\'        => \'ids\',   // Returns post IDs only
        \'meta_query\'    => array(
                                array(
                                \'key\'     => \'myplugin_image_id\',
                                \'value\'   => $postid,
                                \'compare\' => \'LIKE\' 
                                )
        )                   
    );

    $image_item_ids = get_posts( $args ); 
    foreach( $image_item_ids as $image_item_id )  {          
            $purge = wp_delete_post( $image_item_id, true ); // delete the image item, skipping trash    
    }
    wp_reset_postdata();
}  

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

get_posts() 仅使用WPQuery 对象并设置一些默认值。一般来说,它设置的值使其性能稍好一些。但我不太担心。

get_posts() 如果您不需要WP_Query (包括分页)-然后继续。但很大程度上取决于个人偏好。

我会留下你的例子。虽然您不需要显式设置所有值,因为“get\\u posts”默认设置了一些值。

SO网友:Jimbo

如果使用WP\\u Query并创建新对象,则不会接触主查询以保持其干净。在任何地方使用都是安全的。它更复杂,但给你更多的控制和力量。

结束

相关推荐

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

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