繁体   English   中英

WordPress用户元检索meta_key的高级数据

[英]Wordpress User Meta retrieving advance data for meta_key

我正在为基于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:用于插入数据库

$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] ) );
}
}

从数据库检索**

  • (注意:请注意以下代码$ ii <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
 }
?>

尝试:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM