目前,我正在为一个网站定制设计。我在Wordpress中看到的问题是几乎所有从数据库中取出的数据。
而在某些页面,如头版。php-例如,它只需要标题、类别、两个meta和摘录,WP就可以获取所有内容。见鬼,帖子内容只在post single中可见。php,但WP会尽可能地提取所有内容、标记、guid、标记等(print\\r非常有用)。
问题是如何限制从他的查询中提取的Wordpress数据。我认为我应该基于$wpdb创建一个网络“WP\\u查询”(或覆盖它),并将其用于站点,而不是使用默认查询。至少功能如下query_posts, WP_Query and get_posts 不允许我限制提取的数据。
我还对缓存数据感兴趣,因为它非常小,但这是第一次。
Update 1: 试图“最小化数据”:
add_action( \'pre_get_posts\', \'disable_main_query\' );
function disable_main_query( $query ) {
if( $query->is_main_query() && $query->is_front_page() ) {
add_filter(\'posts_fields\', \'minimized_data\');
}
}
function minimized_data($fields) {
global $wpdb;
$fields = "
$wpdb->posts.ID,
$wpdb->posts.post_title,
$wpdb->posts.post_excerpt,
$wpdb->posts.comment_count,
$wpdb->posts.guid,
$wpdb->posts.post_status,
$wpdb->posts.post_name,
$wpdb->posts.post_date,
$wpdb->posts.post_type
";
return $fields;
}
Mow默认循环存在“未定义属性:stdClass::$post\\u XXXX”和其他问题。我想现在该怪那篇文章了,所以我在查。
Update 2: 已经预料到了。更改了while
循环用于foreach ($posts as $post)
没有更多未定义的属性,但如前所述,我无法摆脱ob_end_flush() [ref.outcontrol]: failed to delete buffer zlib output compression
.
Update 3: define( \'SAVEQUERIES\', FALSE );
并且没有更多失败的缓冲区(用于WAMP)。