我用了几种不同的方法来处理这个问题。
1) 您可以管理设置页面中的项目列表。您可以添加一个简单的以逗号分隔的计算机列表,并使用get\\u选项(“Computers”)将它们拉到前端。如果要将其构建到下拉列表中,可以执行以下操作:
$list = get_options(\'computers\');
$list_a = explode(\',\', $list);
echo "<select>";
foreach ($list_a as $item) {
echo "<option value=\'$item\'>$item</option>";
}
echo "</select>";
这将允许您将列表与post meta中实际存储的内容分开控制。这样,您就可以从选项列表中添加或删除项目,而不用担心以前做了什么。
2) 另一种选择是在代码中创建一些实用程序数组。我这样做是为了处理一些相当静态的事情,比如美国各州或国家。我创建了一个文件,并将其包含到我的主插件或函数文件中,然后从那里引用它。您可能有:
function get_computers() {
return $computers = array(
\'acer\' => \'Acer\'
,\'mac\' => \'Mac\'
,\'lenovo\' => \'Lenovo\'
);
}
您将以与我的第一个示例类似的方式循环这些选项。您只是将数据存储在代码中,而不是数据库中。
最后,我认为在可能的情况下使用自定义分类法是正确的。一种称为计算机的分类法可能比上述任何一种方法都更容易管理,尤其是如果您希望非程序员来管理它。您可以使用get\\u terms()函数访问这些内容。
您还可以考虑添加一些自定义post状态。您可以添加一个名为“Closed”的post状态,而不是使用复选框关闭票据。
在此处获取更多信息:https://codex.wordpress.org/Function_Reference/register_post_status
无论如何,我希望这能有所帮助。对于您正在做的事情,我还推荐一位助手,如piklist. 这将使所有元数据库、设置页面和字段的创建更加容易。