尝试从前端表单更新post_status但无法弄清楚它出错的地方。以下代码没有将其保存为post_status的“草稿”。我无法更改select name =“post_status []”,因为插件会自动生成它。
post_status的前端表单自定义字段
<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' );
答案 0 :(得分:0)
只是检查......你为什么使用[]?选择只接受1值,因此返回值可能是一个字符串。
如果这是一个多重选择(看起来不像),你可以尝试使用foreach:
foreach ($_POST['post_status'] as $status) {
$postarr['post_status'] = $status;
}
或类似的东西。
更新:在foreach上添加了括号。