【问题标题】:Advanced Custom Fields - front-end form, save title from another field?高级自定义字段 - 前端表单,从另一个字段保存标题?
【发布时间】:2014-07-10 21:37:46
【问题描述】:

我正在使用 WordPress 的 Advanced Custom Fields 5 插件来创建前端表单。我想将帖子标题保存为表单上的字段之一。例如,我的表单字段之一是“姓名”,因此我希望帖子标题为“John Smith”。

查看ACF documentation,它提供了示例代码(复制如下),其中 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 );

【问题讨论】:

  • 添加一个字符串来代替 $_POST['fields]['field_123'],如果这有效,$_POST 值就是问题所在,var_dump 表单操作中的 $_POST 以查看它的名称有。

标签: php wordpress


【解决方案1】:

我正在使用完全相同的方法,并且效果很好。

请注意,您的示例中的 field_123 不是 wp 后端中用户定义的字段名称,而是它实际上是在您的数据库的 wp_postmeta 表中的 meta_key 值中分配的字段名称。

【讨论】:

    猜你喜欢
    • 2015-01-31
    • 2016-05-31
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2017-12-16
    • 2013-07-28
    相关资源
    最近更新 更多