最简单的解决方案是更改设置键名称。
update_option(\'testimonials_settings_brad\', $options);
update_option(\'testimonials_settings_carrie\', $options);
要检索它们,您需要知道各个键的名称或编写自己的SQL。上次我检查过你不能用通配符
testimonials_settings_*
. 如果您试图用可能是可变的键名(例如基于人名的键名)存储不同的键,这将是一个问题。您可以使用键名存储另一个选项,并使用该选项构造其他键名。
$names = array(\'brad\',\'carrie\');
update_option(\'testimonial_key_names\',$names);
然后当你需要你的证明
$names = get_option(\'testimonial_key_names\',array());
$testinomials = array();
foreach ($names as $n) {
$testimonials[] = get_option(\'testimonials_settings_\'.$n);
}
当然,大量的推荐意味着大量的查询,所以效率不高。
您只需以不同的方式构建阵列并存储一个值。
$options[\'brad\'][\'testimonials_active\'] = $_POST[\'testimonials_active\'];
$options[\'brad\'][\'testimonials_name\'] = $_POST[\'testimonials_name\'];
// and so on
$options[\'carrie\'][\'testimonials_active\'] = $_POST[\'testimonials_active\'];
$options[\'carrie\'][\'testimonials_name\'] = $_POST[\'testimonials_name\'];
// and so on
// then
update_option(\'testimonials_settings\', $options);
这解决了前面提到的几个问题,但您可以在一个位置存储大量信息,但这是一个
longtext
这个列相当大——我相信大约4GB。如果它变得那么大,我预计会出现性能问题--想想内存错误。
这些是我可以想到的使用选项API的可能性。希望我没有误读你的问题。
我想知道如果你有一个Custom Post Type 为了这个。你有一个足够复杂的项目,我倾向于认为这是最好的选择。你可以register it 这样一来,如果你不想这样做,就没有前端帖子列表。您甚至可以在没有后端接口的情况下注册它。有关参数,请参见链接。