我正在写一个课程信息插件。大多数课程信息都与一篇帖子(一种自定义的“课程”帖子类型)相关,因此我将大部分信息放在了Posteta表中。但有些信息与任何帖子都不相关,例如场馆信息。我正在使用选项表来存储这些信息。
我添加了一组选项页面,并使用设置API编辑基本信息。问题是有些信息是动态的,而且更加复杂:
我有一个场馆页面,在那里我需要支持添加新场馆和编辑它们。每个场馆都有一个标题、三条地址线和一个邮政编码。场馆阵列的一个例子是:
array(
1 => array(
\'venue_title\' = \'Edge Hill University, Ormskirk\',
\'address_1\' = \'20 Edge Lane\',
\'address_2\' = \'Ormskirk\',
\'address_3\' = \'Lancashire\',
\'postcode\' = \'L12 6EA\'
),
2 => array(
\'venue_title\' = \'Edge Hill University, Aintree\',
\'address_1\' = \'12 Aintree Close\',
\'address_2\' = \'Aintree\',
\'address_3\' = \'Liverpool\',
\'postcode\' = \'L48 6PQ\'
),
3 => array ( ...etc other venues)
);
因此,要进行任何更改,我使用文本字段。这些由设置api处理。name属性和内容是从$\\u GET变量动态设置的。
<input type="text" name="venues[<?php echo $venue_id; ?>][venue_title]" value="<?php echo $venues[$venue_id][\'venue_title\']; ?>" />
输出为
<input type="text" name="venues[2][venue_title]" value="<?php echo $venues[2][\'venue_title\']; ?>" />
我只有一组在设置api中注册的字段,我认为这就是问题所在,因为当我更改一个字段时,它会删除所有其他字段,只插入新字段。
所以在我看来,上面的代码应该只更新$VICENTES[2][VICENTE\\U标题],但它会覆盖所有场馆。我认为,因为只有一组字段被注册,所以它只会更新,就像有一组字段一样。有人知道一个简单的方法来实现这一点吗?
谢谢