将链接分配给多选字段不起作用


Assigning links to multiselect fields does not work

所以最近我开始用Wordpress工作,发现了一个插件,它可以在数据库中存储某些输入值。这种存储有许多选项,其中之一是存储多选择字段(选项A, B或两者-或更多选项,如果你愿意)。

虽然,我想通过给存储值(显然是预定义的)一个特定的链接来调整这个多选存储位,就像我们说的:选项a得到链接X,而选项B得到链接XX。当用户上传信息(将其放入数据库中)时,这些链接并不活跃,但是当您显示信息(存储在数据库中-因此当您检索数据时)时,这些链接是可见的。为了让这个工作,我想出了下面一段代码:

    <?php while( $this->have_fields() ) : $this->the_field(); // each field is one cell ?>
      <td class="<?php echo $this->field->name ?>-field">
        <?php
if(!function_exists("value_link")) {
function value_link($value) {
  $map = array(
    'Yes' => 'http://www.google.com',
    'No' => 'http://www.hotmail.com'
  );
  return $map[$value];
}
}
if ($this->field->name === 'edit_link') {
  $output = '';
  $value_array = explode(',', (string) $this->field->value);
  foreach ((array)$value_array as $the_value) {
    $the_value = trim($the_value); // in case there are spaces
    $output .= '<a href="' . value_link($the_value) . '">' . $the_value . '</a> ';
  }
  echo $output;
} else {
  $this->field->print_value();
}
?>
      </td>
  <?php endwhile; // each field ?>
  </tr>
<?php endwhile; // each record ?>
</tbody>  

解释一下;前几行代码是标准的,只是回显显示数据的表字段。相关的问题代码从第一个IF函数开始,我将链接设置为我创建的2个多选选项。

下一个IF语句返回一个与多选相关的字段(因此是显示数据输入(多选输入)的前端列)。好吧,其余的在IF语句不言自明,它应该得到的多选数据被上传,并给出适当的链接到它。

但是,由于某些原因,$output只输出(echo’s)单词:Array。这是可点击的(因为,它的链接),但当我点击它,它重定向到什么,好吧,它重定向到相同的页面,而不是上面定义的链接。此外,当上传的数据是两个选项,它仍然只显示一个数组字,而不是2。

如此总结:

  1. 它只显示单词Array而不是Yes或No选项/值
  2. 这个词有一个链接,但没有将我重定向到定义的链接
  3. 它只显示一个数组词,而数据应该有2个数组词(当我上传了是和否)

有谁知道是什么导致了这个问题?

提前感谢!

try -_- + ^^

也许这将解决PHP重定向到您的数据存储数组