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

时间:2015-06-24 17:56:58

标签: php wordpress

尝试从前端表单更新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' );

1 个答案:

答案 0 :(得分:0)

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

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

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

或类似的东西。

更新:在foreach上添加了括号。