Allow public to post on blog

时间:2013-02-08 作者:Ethan

我需要公共用户能够提交帖子,然后让他们在仪表板上由版主或管理员批准。这可能吗?我希望它的功能与评论非常相似。

例如,用户将发布自己的故事,然后版主将批准发布。

我对这个特殊的stackexchange(我经常使用stackoverflow)和wordpress开发还不熟悉,所以如果这看起来是个愚蠢的问题,请原谅我。

2 个回复
最合适的回答,由SO网友:gyo 整理而成

如果您不想让用户访问WordPress管理屏幕,也不想使用高级插件,那么您应该在页面中创建一个表单并使用wp_insert_post 使用提交的数据。

在您的情况下,“post\\u status”参数可用于“缓和”:

$post = array(
    \'post_title\'   => $_POST[\'title_field\'],
    \'post_content\' => $_POST[\'content_field\'],
    \'post_status\'  => [ \'draft\' | \'publish\' | \'pending\'| \'future\' | \'private\' | custom registered status ] //Set the status of the new post.
);

wp_insert_post($post);
Thewp_insert_post 函数应该在将数据插入DB之前对其进行清理,但我建议再次检查add filters 如有必要。

SO网友:helgatheviking

据我所知,唯一支持此功能的插件是Gravity Forms.

本教程也应该是最相关的。http://yoast.com/gravity-forms-custom-post-types/

结束

相关推荐

Get_Query_var()在Pre_Get_Posts中不起作用

我正在使用pre_get_posts 钩子可以使用自定义元值对所有自定义帖子类型/分类页面上的主查询进行排序。作为逻辑的一部分,我试图通过使用get_query_var(\'taxonomy\'), 但是,无论我尝试什么,它都会不断返回一个空白字符串:function sort_query($query) ... if (is_tax()){ ... echo get_query_var(\'taxonomy\'); // E