Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在WordPress中保存多个键/值对_Php_Wordpress_Settings - Fatal编程技术网

Php 在WordPress中保存多个键/值对

Php 在WordPress中保存多个键/值对,php,wordpress,settings,Php,Wordpress,Settings,在使用WordPress插件获取一定数量的RSS提要时,我遇到了一些设计问题 提要的URL应该能够由用户进行配置,这对于固定数量的提要来说非常好。用户可以在适当的设置页面上输入这些提要的URL,该页面显然使用WordPress的设置API 然而,我的目标是让用户能够输入未知数量的提要,以及显示和识别它们的标签和ID。问题在于如何表示这些数据。我想要的结果是有一个函数返回(类似于)以下内容: $feed\u categories=数组( 排列( 'id'=>'tools', “标签”=>“工具”,

在使用WordPress插件获取一定数量的RSS提要时,我遇到了一些设计问题

提要的URL应该能够由用户进行配置,这对于固定数量的提要来说非常好。用户可以在适当的设置页面上输入这些提要的URL,该页面显然使用WordPress的设置API

然而,我的目标是让用户能够输入未知数量的提要,以及显示和识别它们的标签和ID。问题在于如何表示这些数据。我想要的结果是有一个函数返回(类似于)以下内容:

$feed\u categories=数组(
排列(
'id'=>'tools',
“标签”=>“工具”,
“url”“example.org/toolsfeed/feed.xml”,
),
排列(
“id”=>“问题”,
“标签”=>“问题”,
'url'=>'www.example.com/feeds/questions.xml',
),
//等
);
现在,我知道我可以使用我目前使用的WordPress设置API来存储这种数组,但我不确定

  • 如果这不是设置API的目的,以及
  • 我将如何制作一个允许“无限”添加三个键值对的部分的选项页,以及如何解析该选项页
  • 编辑:我开始质疑我目前的方法的主要原因是设置(或选项)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个值。主要问题在于实际捕获这些数据。我编辑了我的帖子来解释更多。