我正在为基于Wordpress的某个网站创建自定义个人资料表单。我正在使用为特定字段添加更多按钮,因为我不知道用户可以为其输入多少输入。
我将数据插入wp_usermeta;我在插入数据时没有问题但是在检索时我无法获得meta_key的计数,因为存储的元键是ts_date_1 ts_date_2等
感谢您的时间。
HTML:
<tr><td><input type='text' name='ts_date[]' id='ts_date_1' /></td></tr>
使用Javascript:
<script>
function addanotherts() {
var root=document.getElementById('timesheettable');
var divs=root.getElementsByTagName('tr');
var clone=divs[divs.length-1].cloneNode(true);
root.appendChild(clone);
var root=document.getElementById('timesheettable');
var divs=root.getElementsByTagName('tr');
var aaa = divs.length-1;
var abc = divs[divs.length-1];
abc1 = abc.getElementsByTagName("input");
abc1[0].setAttribute("id",'ts_date_'+aaa);
abc1[0].value = '';
abc2 = abc.getElementsByTagName("select");
abc2[0].setAttribute("id",'ts_comments_'+aaa);
abc2[0].value = '';
}
</script>
PHP: 用于插入DB
$ts_date = $_POST['ts_date'];
for($ii = 0 ; $ii < count($ts_date) ; $ii++) {
if(!empty ($ts_date[$ii])){
update_user_meta( $current_user->ID, 'ts_date_'.$ii, esc_attr( $ts_date[$ii] ) );
}
}
从DB **中回收
**
<?php
for($ii = 0; $ii < 10; $ii++){
?>
<tr>
<td><input type='text' name='ts_date_<?php echo $ii ?>' value="<?php echo esc_attr( get_the_author_meta( 'ts_date_'.$ii, $user->ID ) );?>" /></td>
</tr>
<?php
}
?>
答案 0 :(得分:2)
尝试:
<?php
$ii = 0;
while($meta_field = get_the_author_meta( 'ts_date_'.$ii, $user->ID )) {
?>
<tr>
<td><input type='text' name='ts_date_<?php echo $ii ?>' value="<?php echo esc_attr( $meta_field );?>" /></td>
</tr>
<?php
$ii++;
}
?>
这将循环,直到$ meta_field为空字符串。请参阅http://codex.wordpress.org/Function_Reference/get_the_author_meta。