如何优化get_option()的sql查询次数?

问题描述 投票:0回答:3
$name = get_option('name');
$phone = get_option('phone');
$street = get_option('street');
$postal_code = get_option('postal_code');
$email = get_option('email');

它将运行5个额外的查询。可以最小化到1吗?

php wordpress
3个回答
2
投票

你可以使用wp_load_alloptions()


2
投票

这将提高性能

global $wpdb;
$sql = "SELECT `option_name`,`option_value` FROM `wp_options` WHERE `option_name` in('name', 'phone', 'street', 'postal_code', 'email')";
$result = $wpdb->get_results( $sql, OBJECT_K );

//access option values, ex: name
var_dump($result['name']->option_value);

0
投票

这些可能不是单独的查询,在大多数情况下,选项在页面加载时加载到全局,get_option函数在运行查询之前加载全局。

如果您有自定义选项,则可以通过在更新选项时将自动加载设置为“是”来将这些选项添加到全局。

Codex: update_option

© www.soinside.com 2019 - 2024. All rights reserved.