Php 如何根据帖子id为帖子自定义字段分配文本
我有这个代码,这是为了打印文本到一个自定义字段 当我手动输入post id时,该代码起作用,如本例4221所示。但是,我需要使用$wp\u query->post->id获取post idPhp 如何根据帖子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
//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
上。是的,这很有效!我很感激。这听起来像是一个挑战:)必须访问前端来加载每个帖子的价值。这一点没有其他选择,因为代码的其余部分很有魅力!不,你不必经常刷新它。只需加载一个页面就可以完成这项任务,并为您填充字段。这就解决了问题!我只需要一次刷新。太感谢你了!