我有一个使用 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 );