Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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
Php 高级自定义字段更新\u字段()不起作用_Php_Wordpress_Advanced Custom Fields - Fatal编程技术网

Php 高级自定义字段更新\u字段()不起作用

Php 高级自定义字段更新\u字段()不起作用,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我有一段代码,可以更改post数据并用json文件的数据替换它们: add_filter( 'wp_insert_post_data', 'update_post',10 ,3 ); function update_post( $data, $postarr ) { $postid = $postarr['ID']; $imdbl = get_field('imdbl', $postid); if ($imdbl) { $url = 'http://ww

我有一段代码,可以更改post数据并用json文件的数据替换它们:

add_filter( 'wp_insert_post_data', 'update_post',10 ,3 );

function update_post( $data, $postarr ) {
    $postid = $postarr['ID'];
    $imdbl = get_field('imdbl', $postid);
    if ($imdbl) {
        $url = 'http://www.omdbapi.com/?i='.$imdbl.'&apikey=c0ceddac';
        $jdata = file_get_contents($url);
        $json = json_decode($jdata);
        $data['post_title'] = $json->Title;

        update_field('ReleaseY', $json->Year, $postid);

    }

    return $data;

}
现在,这段代码起作用了,它获取标题并将其放在帖子标题中。我的问题在于这部分代码:

update_字段('ReleaseY',$json->Year,$postid)

这段代码替换了自定义字段的值,它在“Post”Post类型上非常有效,但在其他Post类型(在本例中为“movies”)中根本不起作用

我不知道问题出在哪里,我在互联网上到处搜索,什么都试过了

请帮帮我


谢谢。

尝试改用本机WP函数
更新\u post\u meta
,除非您确定在尝试使用该函数时已加载ACF:

update_post_meta( $postid, 'ReleaseY', $json->Year );

参考资料:

请显示
$postid=$postarr['ID']的值是。这里可能有错误。另外,请确保
$imdbl
确实包含一个值(您的代码已经包含了该值,但实际上不会检查您的电影帖子类型是否确实提供了所述值。)@Ivan86您好,我测试了所有这些,
$postid
400
,我甚至把它取了下来,改用400号,但它不起作用
$imdbl
也可以,代码在post中正常工作,但在自定义post类型中则不行。