正在从WP前端表单保存post_status(WP用户前端插件)


Saving post_status from WP front end form (WP User Frontend plugin)

试图从前端表单更新postrongtatus,但找不出哪里出了问题。没有以下代码将其保存为postrongtatus的"draft"。我无法更改select name="postrongtatus[]",因为插件会自动生成它。

postrongtatus 的前端表单自定义字段

<select class="wpuf_post_status_51" name="post_status[]" data-required="yes" data-type="select">
    <option value="private" selected="selected">Private</option>
    <option value="publish">Public</option>
</select>

Function.php中的函数和插件文档。http://tareq.wedevs.com/2012/04/how-to-extend-wp-user-frontend/

// Save custom Privacy option to DB
function privacy_post_status( $postarr ) {
    $postarr['post_status'] = trim( $_POST['post_status[]'] );
    return $postarr;
}
add_filter( 'wpuf_add_post_args', 'privacy_post_status' );
add_filter( 'wpuf_update_post_args', 'privacy_post_status' );

只是检查。。。为什么使用[]?选择只接受1个值,因此返回值可能是一个字符串。

如果这是一个多选(看起来不像),你可以尝试使用foreach:

foreach ($_POST['post_status'] as $status) {
    $postarr['post_status'] = $status;
}

或者类似的东西。

更新:在foreach上添加了括号