Wordpress用户Meta检索meta_key的预先数据

时间:2014-07-06 12:17:59

标签: php wordpress

我正在为基于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 **中回收

  • (注意:请注意以下代码$ ii&lt; 10; 10是假设的数字 但不是实际的数量。 )

**

<?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
 }
?>

1 个答案:

答案 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