Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 自动更新\u post\u meta_Wordpress_Post Meta - Fatal编程技术网

Wordpress 自动更新\u post\u meta

Wordpress 自动更新\u post\u meta,wordpress,post-meta,Wordpress,Post Meta,因此,我一直在研究这段遗留代码,并试图对其进行一些改进。我有一段代码,它从一篇文章中保存了一堆自定义字段 if(isset($_REQUEST['unidade-dir1-cargo'])){ update_post_meta($post_id, 'unidade-dir1-cargo', sanitize_text_field($_POST['unidade-dir1-cargo'])); update_post_meta($post_id, 'unidade-dir1-nom

因此,我一直在研究这段遗留代码,并试图对其进行一些改进。我有一段代码,它从一篇文章中保存了一堆自定义字段

if(isset($_REQUEST['unidade-dir1-cargo'])){
    update_post_meta($post_id, 'unidade-dir1-cargo', sanitize_text_field($_POST['unidade-dir1-cargo']));
    update_post_meta($post_id, 'unidade-dir1-nome', sanitize_text_field($_POST['unidade-dir1-nome']));
    update_post_meta($post_id, 'unidade-dir1-email', sanitize_text_field($_POST['unidade-dir1-email']));
}
if(isset($_REQUEST['unidade-dir2-cargo'])){
    update_post_meta($post_id, 'unidade-dir2-cargo', sanitize_text_field($_POST['unidade-dir2-cargo']));
    update_post_meta($post_id, 'unidade-dir2-nome', sanitize_text_field($_POST['unidade-dir2-nome']));
    update_post_meta($post_id, 'unidade-dir2-email', sanitize_text_field($_POST['unidade-dir2-email']));
}
if(isset($_REQUEST['unidade-dir3-cargo'])){
    update_post_meta($post_id, 'unidade-dir3-cargo', sanitize_text_field($_POST['unidade-dir3-cargo']));
    update_post_meta($post_id, 'unidade-dir3-nome', sanitize_text_field($_POST['unidade-dir3-nome']));
    update_post_meta($post_id, 'unidade-dir3-email', sanitize_text_field($_POST['unidade-dir3-email']));
}
if(isset($_REQUEST['unidade-dir4-cargo'])){
    update_post_meta($post_id, 'unidade-dir4-cargo', sanitize_text_field($_POST['unidade-dir4-cargo']));
    update_post_meta($post_id, 'unidade-dir4-nome', sanitize_text_field($_POST['unidade-dir4-nome']));
    update_post_meta($post_id, 'unidade-dir4-email', sanitize_text_field($_POST['unidade-dir4-email']));
}
if(isset($_REQUEST['unidade-dir5-cargo'])){
    update_post_meta($post_id, 'unidade-dir5-cargo', sanitize_text_field($_POST['unidade-dir5-cargo']));
    update_post_meta($post_id, 'unidade-dir5-nome', sanitize_text_field($_POST['unidade-dir5-nome']));
    update_post_meta($post_id, 'unidade-dir5-email', sanitize_text_field($_POST['unidade-dir5-email']));
}
它是有效的。我试着把它改成这个,但没用。有人知道为什么吗

$no_directors = 5;
$fields = array('cargo', 'nome', 'email');
for($i=1; $i<=$no_directors; $i++){
    foreach($fields as $field){
        $label = 'unidade-dir'.$i.'-'.$field;
        if(isset($_REQUEST[$label])){
            update_post_meta($post_id, $label, sanitize_text_field($_POST[$label]));
        }
    }
}

try$label=unidade dir$i-$field;echo$_REQUEST[$label]并在这个ifisset$_REQUEST[$label]{@MujeebuRahman哇。这确实有效!非常感谢。知道为什么这种取消字符串的方法有效而另一种方法无效吗?另外,将其添加为答案,以便我可以选择正确的方法。
 $no_directors = 5;
$fields = array('cargo', 'nome', 'email');
for($i=1; $i<=$no_directors; $i++){
    foreach($fields as $field){
        $label = "unidade-dir$i-$field";
        if(isset($_REQUEST[$label])){
            update_post_meta($post_id, $label, sanitize_text_field($_POST[$label]));
        }
    }
}