我正在创建一个插件,该插件将显示网站的类别。对于每个目录,我想设置一个URL。
因此,我制作了一个表,用于显示网站的所有类别以及每个类别的字段。
如何为每个类别保存每个值?
这是我的代码:
add_settings_field('name_categories','Categories','categories_cb','plugin-settings','plugin_label_settings');
function categories_cb() {
$settingurl = get_option('url_cat');
?>
<table>
<tr>
<?php
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC'
) );
$urlcat = 0;
foreach($categories as $category) {
echo "<tr>";
echo '<td align="center" bgcolor="#AEB5B4">'.$category->name.'';
echo "</td>";
//deuxieme colonne le nb de presence
echo "<td><input type='text' name='".$urlcat."' value='".$settingurl."'></td>";
echo "</tr>";
$urlcat++;
?>
我希望能够为每个字段设置一个网址
非常感谢
答案 0 :(得分:1)
add_settings_field
仅用于一个输入字段。您可以在reference
回调函数需要输出适当的html输入并 用旧值填充它,保存将在后台进行。
出于您的目的,我建议对每个类别分别使用add_settings_field
,代码如下:
$categories = get_categories(array(
'orderby' => 'name',
'order' => 'ASC'
));
foreach ($categories as $category) {
add_settings_field(
'name_category_' . $category->cat_ID,
'Category ' . $category->name,
'categories_cb',
'plugin-settings',
'plugin_label_settings',
array(
'id' => $category->cat_ID
)
);
register_setting('plugin-settings', 'name_category_' . $category->cat_ID);
}
function categories_cb($args)
{
$settingurl = get_option('name_category_' . $args["id"]);
echo "<input type='text' name='name_category_". $args["id"] . "' value='" . $settingurl . "'>";
}