Php 在WordPress中保存多个键/值对
在使用WordPress插件获取一定数量的RSS提要时,我遇到了一些设计问题 提要的URL应该能够由用户进行配置,这对于固定数量的提要来说非常好。用户可以在适当的设置页面上输入这些提要的URL,该页面显然使用WordPress的设置API 然而,我的目标是让用户能够输入未知数量的提要,以及显示和识别它们的标签和ID。问题在于如何表示这些数据。我想要的结果是有一个函数返回(类似于)以下内容:Php 在WordPress中保存多个键/值对,php,wordpress,settings,Php,Wordpress,Settings,在使用WordPress插件获取一定数量的RSS提要时,我遇到了一些设计问题 提要的URL应该能够由用户进行配置,这对于固定数量的提要来说非常好。用户可以在适当的设置页面上输入这些提要的URL,该页面显然使用WordPress的设置API 然而,我的目标是让用户能够输入未知数量的提要,以及显示和识别它们的标签和ID。问题在于如何表示这些数据。我想要的结果是有一个函数返回(类似于)以下内容: $feed\u categories=数组( 排列( 'id'=>'tools', “标签”=>“工具”,
$feed\u categories=数组(
排列(
'id'=>'tools',
“标签”=>“工具”,
“url”“example.org/toolsfeed/feed.xml”,
),
排列(
“id”=>“问题”,
“标签”=>“问题”,
'url'=>'www.example.com/feeds/questions.xml',
),
//等
);
现在,我知道我可以使用我目前使用的WordPress设置API来存储这种数组,但我不确定
options.php
页面的方法,这是访问传入POST请求所需的,之后我需要继续验证、格式化和保存发送的配置数据。因此,基本上,当我使用设置API时,创建表单和处理输入的实际方面似乎对我非常有限。能够扩展options.php
的功能将非常棒。(也许我忽略了一个我想要的钩子?)
我已经查看了设置的validate回调,但这涉及到注册一个您并不真正想保存的设置,只需访问相应的$\u POST
键
另一个选择是,这个场景只是制作一个表来存储这些信息。然而,由于这可能是大多数用户在很长一段时间内都会设置和忘记的,我担心这可能是过火了
你们中有谁知道一种在设置API中实现这一点而不需要太多的黑客攻击的好方法,或者这真的只是需要一个自定义表
我很想听听您对此有何看法,以及您为什么这么想。最简单的方法就是像您所说的那样,将其存储在数据库中。这使事情变得简单而美好。虽然数据不多,但也不一定“过火”,你只是在使用你可以使用的东西 如果您真的不想使用数据库,您可以做的一个小“黑客”就是使用options API存储信息。通常,您只需存储一个键值,如下所示:
update_option('some_option','XYZ');
但是,如果需要,可以将整个数组存储为值。以您的例子:
update_option('feed_categories',$feed_categories);
这样做的唯一缺点是,因为您存储的是整个阵列,所以当您更新feed_类别时,您需要
因此,您不能只获取数组的第一部分等操作。每次都必须处理整个数组 对数组执行所有这些操作应该不会有太大问题,因为我不认为它包含超过8个值。主要问题在于实际捕获这些数据。我编辑了我的帖子来解释更多。