我正在使用WordPress的高级自定义字段5插件来创建前端表单。我想保存的帖子标题作为我的窗体上的字段之一。例如,我的一个表单字段是'name',所以我希望文章标题是'John Smith'。
查看ACF文档,它提供了示例代码(复制如下),其中pre_save_post可以被挂钩以实现此目的。但是,我已经包含了这个函数,标题仍然无法保存。你知道我做错了什么吗?
代码如下:
function my_pre_save_post( $post_id )
{
// check if this is to be a new post
if( $post_id != 'new' )
{
return $post_id
}
// Create a new post
$post = array(
'post_status' => 'draft' ,
'post_title' => $_POST['fields']['field_123'] ,
'post_type' => 'post' ,
);
// insert the post
$post_id = wp_insert_post( $post );
// return the new ID
return $post_id;
}
add_filter('acf/pre_save_post' , 'my_pre_save_post', 10, 1 );
我使用完全相同的方法,它工作得很好。
请注意,在您的示例中field_123
不是wp后端用户定义的字段名,但它实际上是在您db的wp_postmeta
表中的meta_key
值中分配的字段名。