如果我没有弄错的话,设置api只在wp\\U选项表中存储一个数据数组。只能更改数组中的字段数据。
如果我想在同一个表中添加具有相同数组结构但值不同的多个数组,该怎么办。
我的意思是:
$data = array(
\'1\' = array(
\'cpt\'=> \'cpt1\',
\'date\'=> \'date1\',
\'role\'=> \'subscriber\'
),
\'2\' = array(
\'cpt\'=> \'cpt2\',
\'date\'=> \'date2\',
\'role\'=> \'eiditor\'
).....etc
);
我可以添加新数组,编辑其中一个数组中的字段,或者删除不需要的数组。
我在goolge上找到的只是关于如何在单个数组中存储数据的教程,但我确实看到一些插件可以做到这一点,但我无法理解他们是如何在我目前的编程水平下做到这一点的。
我不想创建另一个自定义表,因为我要存储的数据并不多。我只存储一些设置(用户、帖子类型、帖子日期),以供进一步使用。
如有任何指导或建议,将不胜感激。
最合适的回答,由SO网友:danbrown 整理而成
我把它放在表格里,这样它就知道它的编辑了:
<form method="post" action="options.php">
<?php settings_fields(\'venues_section\'); ?>
<input type="hidden" name="editmode" value="<?php echo $editmode; ?>" />
<input type="hidden" name="venue_id" value="<?php echo $venue_id; ?>" />
<?php submit_button(); ?>
</form>
然后,接收验证函数可以通过执行以下操作来处理此问题:
function venues_validation_callback($input){
$venues = get_option(\'venues\'); // Get the current options from the db (Edit
// this and return the full modified version)
$editmode = $_POST[\'editmode\']; // add, edit or delete
$venue_id = $_POST[\'venue_id\'];
if($editmode == \'add\'){
// Do Add Logic
return $venues;
elseif($editmode == \'edit\') {
// Do Edit Logic
return $venues;
}
elseif($editmode == \'delete\'){
// Do Delete Logic
return $venues;
}
return $input; // only triggered if none of the above are called
}
这只是为了证明它的可能性。还有很多其他的细节,这也是一个非常定制的解决方案。我已经让它工作了,但它花了我一周的时间,让我有些头疼。老实说。但这就是我所能做的。希望有一个插件可以做到这一点,我没有找到。如果我有时间的话,如果还没到的话,我会很高兴的。