Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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 如何根据帖子id为帖子自定义字段分配文本_Php_Wordpress_Advanced Custom Fields - Fatal编程技术网

Php 如何根据帖子id为帖子自定义字段分配文本

Php 如何根据帖子id为帖子自定义字段分配文本,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我有这个代码,这是为了打印文本到一个自定义字段 当我手动输入post id时,该代码起作用,如本例4221所示。但是,我需要使用$wp\u query->post->id获取post id //works $post_id = '4221'; $field_key = "field_607aa2cb60022"; $value ="some tring for testing"; update_field( $field_key, $value, $pos

我有这个代码,这是为了打印文本到一个自定义字段

当我手动输入post id时,该代码起作用,如本例4221所示。但是,我需要使用$wp\u query->post->id获取post id

//works
$post_id = '4221';
$field_key = "field_607aa2cb60022";
$value ="some tring for testing";
update_field( $field_key, $value, $post_id );

//Dynamically, won't work
$post_id = "'$wp_query->post->ID;'";
$field_key = "field_607aa2cb60022";

$value = "some tring for testing";
update_field( $field_key, $value, $post_id );
我包装了
$wp\u query->post->ID在单引号和双引号内,以便在单引号“4221”中返回数字。如果不手动指定post id,我就无法让它工作,这是我想要避免的,而只是使用当前的post id

我不知道该怎么办

附加图像


试着把它挂在
wp\u头上
动作钩上

add_action('wp_head','poputing_your_custom_field');
函数填充您的自定义字段(){
$your_custom_field_value=get_field(“field_607aa2cb60022”);
if(空($您的自定义字段值)){
$your\u custom\u field\u value=“My custom field text to test this”;
更新字段(“字段”607aa2cb60022“,$您的自定义字段值);
//请注意,您不必在此处传递id,因为默认值是当前帖子id
//我们使用了wp_head动作钩子。在你文章的每一个页面上,这都会运行
}
}

这段代码将转到
functions.php

尝试并调试为什么这不起作用。“$wp\u query->post->ID”的值是多少?您是否尝试过用xdebug甚至var\u dump($wp\u query->post->ID)调试代码然后你可以继续挖掘,找出你的问题并解决你的问题
$wp\u query->post->ID
输出post ID。如果我们使用它,它将不起作用,除非我提供像4221这样的ID,而不是
$wp\u query->post->ID
。我将其复制到函数文件中,但还没有。正如我所说的,你必须在前端加载你的帖子才能运行它。因为我们把它挂在了
wp\u head
上。是的,这很有效!我很感激。这听起来像是一个挑战:)必须访问前端来加载每个帖子的价值。这一点没有其他选择,因为代码的其余部分很有魅力!不,你不必经常刷新它。只需加载一个页面就可以完成这项任务,并为您填充字段。这就解决了问题!我只需要一次刷新。太感谢你了!