0

我有一个使用 WPForms 的帖子提交表单,它允许我的用户通过我网站上的表单发布文章。

我有一个自定义帖子类型,也称为“频道”。这个想法是用户可以从动态字段中选择频道(这是一个下拉菜单,显示channels作者是登录用户的所有自定义帖子。

当用户选择他们希望“发布到”的频道时,它会使用频道的帖子标题(而不是频道的帖子 ID)填充正在发布的帖子上的 ACF 自定义字段

我试图让 WPforms 检查标题,匹配它并获得正确的 ID,然后在提交时更新 ACF 字段。

目前,没有任何反应,表单无法提交。

有人对我做错了什么有任何想法吗?

function wpf_save_update( $fields, $entry, $form_data, $entry_id ) {


    if ( absint( $form_data['id'] ) == 2480 ) {


    // Get the full entry object
    $entry = wpforms()->entry->get( $entry_id );

    // Fields are in JSON, so we decode to an array
    $entry_fields = json_decode( $entry->fields, true );


// search database posts
$post_name = $entry_fields[6]['value'];
$author_id = get_current_user_id();

$results = $wpdb->get_results( "SELECT * FROM posts WHERE `post_title` = '$post_name' AND `post_author` = '$author_id' AND `post_type` = 'watch_channels' ");


foreach($results as $row){

$entry_fields[6]['value'] = $row->ID;

}



    // Convert back to json
    $entry_fields = json_encode( $entry_fields );

    // Save changes
    wpforms()->entry->update( $entry_id, array( 'fields' => $entry_fields ), '', '', array( 'cap' => false ) );



 }else{
 return;

 }
}
add_action( 'wpforms_process_complete', 'wpf_save_update', 10, 4 );
4

0 回答 0