试图从前端表单更新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上添加了括号