最近我开始使用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语句返回一个与multiselect相关的字段(所以显示数据输入(多选输入)的前端列。好了,IF语句中的其余部分说明了自己,它应该得到多选上传的数据并提供正确的链接。
虽然由于某种原因,$ output只输出(echo)单词:Array。这是可点击的(如,链接),但是当我点击它时,它会将我重定向到任何东西,好吧,它将我重定向到同一页面而不是上面定义的链接。除此之外,当上传的数据都是选项时,它仍然只显示一个数组字而不是2.
总结如下:
有谁知道导致这个问题的原因是什么?
提前致谢!
答案 0 :(得分:-1)
尝试-_- + ^^
也许这会解决PHP重定向器到您的数据存储阵列。