是否可以使用UPDATE_POST_META更新数据集

时间:2021-07-10 作者:VladSiy

我正在尝试为图像和文本创建两个自定义字段。我在回路中有两个输入:

...
<input type="hidden" name="wt_set[\'upload_set_img\'][]" id="img" value="100" />
<input type="text" name="wt_set[\'title\'][]" value="Text One" />

<input type="hidden" name="wt_set[\'upload_set_img\'][]" id="img1" value="200" />
<input type="text" name="wt_set[\'title\'][]" value="Text Two" />
...
结果是$\\u POST[\'wt\\u set\']

array(2) {
  ["upload_set_img"]=>
  array(2) {
    [0]=>
    string(3) "100"
    [1]=>
    string(3) "200"
  }
  ["title"]=>
  array(2) {
    [0]=>
    string(3) "Text One"
    [1]=>
    string(3) "Text Two"
  }
}
然后我这样做:

foreach( $_POST[\'wt_set\'] as $name => $arr_values ){
    foreach( $arr_values as $i => $value){
        update_post_meta( $post_id, $name, $value );
    }
}
但我只得到一个值:

  ["upload_set_img"]=>
  array(1) {
    [0]=>
    string(3) "100"
  }
  ["title"]=>
  array(1) {
    [0]=>
    string(4) "Text One"
  }
我需要get_post_meta($post->ID,\'upload_set_img\');get_post_meta($post->ID,\'title\'); 相等:

["upload_set_img"]=>
  array(1) {
    [0]=>
    string(3) "100"
    [1]=>
    string(3) "200"
  }
  ["title"]=>
  array(1) {
    [0]=>
    string(4) "Text One"
    [1]=>
    string(4) "Text Two"
  }
如何正确使用update\\u post\\u meta来获得此结果?

1 个回复
最合适的回答,由SO网友:cameronjonesweb 整理而成

你不需要第二个foreach

foreach( $_POST[\'wt_set\'] as $name => $val ){
    update_post_meta( $post_id, $name, $val );
}
你的第二个孩子怎么了foreach 每个条目都被单独处理并设置为post meta,以便在运行时循环update_post_meta( $post_id, $name, XXX ); 然后update_post_meta( $post_id, $name, XXX ); 将覆盖上一个。

相关推荐

为什么我不能执行wp-includes文件夹下的php文件?

我正在调整WordPress以更好地理解它,玩它。出于个人目的。但从加载自定义文件/wp-includes 文件夹无法工作。我试图添加信息。php文件位于/wp-includes 包含phpinfo() 当我尝试通过以下方式在浏览器中访问它时example.com/wp-includes/info.php, 服务器返回错误503。文件夹权限设置为775,文件权限设置为644。Important note: 如果我重命名wp-includes 文件夹,例如wp-include, 那就行了!我联系了主机支持人