当我使用get_posts()
函数获取自定义帖子类型的所有帖子时,我总是会获得内存大小限制,即使它们只是我想要从数据库获得的300个帖子。
增加内存不是一种选择,也不能分页。
导致这种情况的原因以及如何解决这个问题。因为从这些帖子中我将稍后还需要获取元数据并将其拆分为2个数组/对象和更多内容。它需要能够处理每页请求5000多个帖子/记录。
任何提示,想法,建议和其他内容?
首先尝试:
$args = array(
'posts_per_page' => 300,
'offset' => 0,
'category' => '',
'category_name' => '',
'orderby' => 'title',
'order' => 'ASC',
'post_type' => 'partners',
'post_status' => 'publish',
'suppress_filters' => true,
/*'meta_key' => 'partner-submission-status',
'meta_value' => 'goedgekeurd',*/
);
$posts = get_posts($args);
var_dump(count($posts));
第二次尝试:
$query = $wpdb->get_results("
SELECT p.ID, p.post_title
FROM wp_posts as p
INNER JOIN wp_postmeta as m
on p.ID = m.post_id
WHERE p.post_type = 'partners' AND
p.post_status = 'publish'
");
var_dump(count($query));die;
但是他们两个都没有进入var_dump
答案 0 :(得分:-1)
<?php query_posts( 'post_type=your_post_type&posts_per_page=10' );
if (have_posts()) : while (have_posts()) : the_post(); ?>
...........
<?php endwhile; endif; wp_reset_query(); ?>