当前位置: 首页 > 知识库问答 >
问题:

通过前端帖子提交根据条件设置帖子作者

颜志业
2023-03-14

我使用wordpress cms,我允许用户从前端发帖。有三种类型的用户。我自己是管理员,一个初级(作者角色)和任何来自公共部门的非登录用户。当前,如果有任何未登录的用户从前端发帖,我将被指定为具有此代码的作者。当前我的wp\u insert\u post数组如下所示:

'post_title'    => $final_title,
'post_content'  => $about_stuff,
'post_status'   => 'draft',
'post_author'   => '20',
'post_type' => 'post',
 etc....

其中,我的作者id为“20”。这一切都很好。现在,我想实现的是,当我的小朋友登录并在前端创建帖子时,我希望他成为帖子作者,而不是我(目前的设置)。我知道post_作者需要是一个可变示例$content_创建者。下面是我到目前为止所写的代码,但我不知道如何将其组合起来以实现我所需要的。具体来说,我很困惑如何使变量$content\u creator与其余代码一起工作。

if ( is_user_logged_in() ) {
    $current_user = wp_get_current_user();
    if ( 19 == $current_user->ID ) {
    'post_author' => '19';
    } else {
    'post_author' => '20',
    }
 } 

代码非常简单,说明如下:检查用户是否登录,如果是,检查用户id。如果用户id等于19,则设置“post_author”=

最后一个场景必须是,当管理员或其他人创建帖子时,帖子作者必须设置为管理员(我),但当我的下级创建帖子时,他必须设置为帖子作者。如果我们在后端创建帖子,这将是不必要的,但由于某些原因,我们更喜欢在前端创建帖子。


共有1个答案

濮阳鸿卓
2023-03-14

原来wp_update_post很简单。虽然,现在它工作得很好。如果你发现什么有趣的事情,请告诉我。这是我在wp_insert_post后使用的代码,没有对数组进行任何更改。

if ( is_user_logged_in() ) {
    $current_user = wp_get_current_user();
    if ( 19 == $current_user->ID ) {

    $update_creator = array(
                'ID'          => $pid, //created post ID
                'post_author' => '19'
            );

    wp_update_post( $update_creator );
    }
}
 类似资料:
  • 我正在生成自己的Wordpress模板,并希望为用户提供一个前端表单(这样他们就不必登录Wordpress仪表板)来提交一些帖子内容。多亏了本教程,我的一切都正常了,但我想做一个增强。当前,当用户按submit时,数据存储在wordpress中,然后重定向到我选择的固定URL。与此相反,我只想清除表单数据并显示一条确认消息——我想是通过AJAX?我知道wordpress中有内置的AJAX功能,但我

  • 我必须从自定义帖子类型返回所有帖子,由'start_date'从'ACF字段'。 我有一些有日期的帖子,还有一些没有日期的帖子。当我添加“orderby”时= 这是我的代码: 如果我删掉 我所有的帖子都被退回,但它们不是按开始日期排序的 有什么想法吗? 谢谢。

  • 帖子申请置顶列表 申请帖子置顶 通过帖子置顶 拒绝帖子置顶 帖子评论申请置顶列表 帖子评论申请置顶 通过帖子评论申请置顶 拒绝帖子评论申请置顶 圈主和管理员置顶帖子 圈主和管理员取消置顶帖子 帖子申请置顶列表 GET /pinned/posts 参数说明 名称 类型 说明 limit integer 默认 15 ,数据返回条数 默认为15 after integer 默认 0 ,数据偏移量,传递

  • 圈子帖子列表 圈子帖子详情 圈子帖子创建 圈子帖子更新 圈子帖子删除 我的帖子列表 全部帖子列表包含搜索 圈子帖子列表 GET /groups/:group/posts 响应 status 200 参数说明 名称 类型 说明 type string 默认:latest_post, latest_post 最新帖子,latest_reply最新回复 limit integer 默认 15 ,数据

  • 我必须使用ajax调用向php文件提交两个值。php文件将使用$_POST[]函数处理数据。问题是我的ajax代码没有正确发送数据,所以我在console.log(result)函数中没有得到任何结果。我该如何解决这个问题?知道吗? Jquery: .PHP:

  • 我需要贴标签。我正在为此使用这样的代码: var_dump为tag=blog返回这样的数据 数组(5){["type"]= 并且不显示此标记的任何记录。在DB中存在4条记录。 当然,我可以将此代码用于查看帖子: 但是在这个页面上,我需要显示每页的帖子数量等等。 我不明白为什么WP_Query()在我的代码中不起作用。你能帮我吗? 数组中应该包含哪些属性?我当前的$args不工作: