我可以使用设置API动态创建重复的字段吗?

时间:2013-01-19 作者:drewbug

我不确定我的标题是否准确地解释了我想做什么,但这是我能想到的解释我想做什么的最好方式。

我正在编写我的第一个Wordpress插件,虽然到目前为止这是一个巨大的学习经历,但我发现自己陷入了困境。

基本上,插件添加了一个短代码,[routes_and_schedules_accordion] 这将生成一个jQuery手风琴,这是一个更加充实的版本:

<ul class="accordion">
  <li class="panel">
    <div class="title">
      <h5>Route 1 - Market Street</h5>
    </div>
    <div class="content">
      <a href="http://www.example.com/Route1.pdf">Current Schedule</a>
    </div>
  </li>
</ul>
a之后lot 在阅读方面,我创建了一个带有设置API的选项页面,可以更改路线名称及其时间表的URL(我们是一家小型公交公司):

<?php $options = get_option(\'routes_and_schedules_accordion_settings\') ?>

<ul class="accordion">
  <li class="panel">
    <div class="title">
      <h5><?php echo $options[\'route_name\'] ?></h5>
    </div>
    <div class="content">
      <a href="<?php echo $options[\'route_current_schedule_url\'] ?>">Current Schedule</a>
    </div>
  </li>
</ul>
我真正在努力的是,这样才能添加新的路线。目标是让“选项”页面有一种添加和删除路由的方法,并让快捷码显示如下内容:

<?php $options = get_option(\'routes_and_schedules_accordion_settings\') ?>

<ul class="accordion">
  <li class="panel">
    <div class="title">
      <h5><?php echo $options[\'route1_name\'] ?></h5>
    </div>
    <div class="content">
      <a href="<?php echo $options[\'route1_current_schedule_url\'] ?>">Current Schedule</a>
    </div>
  </li>
  <li class="panel">
    <div class="title">
      <h5><?php echo $options[\'route2_name\'] ?></h5>
    </div>
    <div class="content">
      <a href="<?php echo $options[\'route2_current_schedule_url\'] ?>">Current Schedule</a>
    </div>
  </li>
</ul>
我想我可以在每次路由数量发生变化时创建新字段,并每次更新插件,但这将是大量的工作,我知道必须有更好的方法。

如果有人能给我指出正确的方向,我将不胜感激!

1 个回复
最合适的回答,由SO网友:Milo 整理而成

如果要使用选项执行此操作,请将路由另存为数组而不是单个选项,或将路由数保存在选项中,以便通过基于保存的数目构建选项名称来动态创建和获取路由。

However, 与其将这些东西保存在选项中,我会选择一条路线custom post type. 路由数据将是post元数据,时间表将是附件,您可以使用自定义分类法来进一步分组/筛选路由。

结束

相关推荐