在后台创建WordPress用户,并自动在自定义帖子类型中创建一个新帖子,帖子中的标题为User Uame

时间:2021-10-28 作者:xbl4814

我们正在为我们的客户开发一个高尔夫旅游行程系统,我们只想让拥有唯一预订参考221234的客户查看他们的旅游行程,该行程位于名为221234的CPT上。

当我们在后端创建/保存一个新用户时,是否有一种方法可以同时在现有自定义帖子类型中“自动”创建一个新的草稿帖子,并将新用户指定为该草稿帖子的内容作者(所有者)?

用户名都是6位数字,我们希望创建的草稿帖子的标题与用户名匹配。然后,我们可以编辑草稿帖子,知道它已预先分配给我们创建的用户帐户。

因此,用户221234在CPT中有一个标题为221234的草稿帖子,并被指定为该新草稿帖子的自动管理员。

我们是设计师而不是程序员,因此我们正在使用工具集开发该系统,并且有这个包含主行程内容模板的条件语句,它非常适合我们的需要。

[wpv-conditional if=" ( ( \'[**wpv-current-user info=\'id\'**]\' eq \'[**wpv-post-author format=\'meta\' meta=\'ID\'** ]\' ) ) "]
这正是我们想要的。然而,我们必须手动分配所有权,而且有很多预订!

因此,我们需要找到一种方法,首先自动创建用户,然后创建草稿帖子。

我们发现了这个代码片段,看起来很有希望,但不确定如何将其链接到我们的CPT

add_action( \'user_register\', \'myplugin_registration_save\', 10, 1 );

function myplugin_registration_save( $user_id ) {

        $userPostsCategory = 3;

        // Create post object
        $my_post = array(
          \'post_title\'    => \'Sample Story\' ),
          \'post_content\'  => \'You can edit this or create a new story\',
          \'post_status\'   => \'publish\',
          \'post_author\'   => user_id,
          \'post_category\' => array( $userPostsCategory )
        );

        // Insert the post into the database
        wp_insert_post( $my_post );

}
CPT称为预订

1 个回复
SO网友:Catherine Consiglio

修改了上面的代码以投递到自定义投递类型;“预订”;设置为draft,并使用用户ID号作为文章标题。我还为新的帖子id添加了一个返回值,这样重定向到该id或链接到该id就容易多了。

add_action( \'user_register\', \'myplugin_registration_save\', 10, 1 );

function myplugin_registration_save( $user_id ) {

        $userPostsCategory = 3;

        // Create post object
        $my_post = array(
          \'post_title\'    => $user_id,
          \'post_content\'  => \'You can edit this or create a new story\',
          \'post_type\'     => \'Bookings\',
          \'post_status\'   => \'draft\',
          \'post_author\'   => $user_id
        );

        // Insert the post into the database and return new post id
        $itinerary_id = wp_insert_post( $my_post );
        return $itinerary_id;

}

相关推荐

Calling hooks in functions

我习惯于使用主题挂钩,定期添加功能,但难以使用插件挂钩来过滤内容。这是我所知的极限,我试图理解这个过程,但没有用。我正在使用GigPress 管理事件。它允许您添加一个节目(基于日期),并将该节目与帖子(标准WP帖子)关联。我已经创建了一个自定义的帖子类型—productions—来关联节目,而不仅仅是一般的博客帖子。插件有一个钩子-gigpress_related_post_types —允许您用自己选择的任何CPT交换帖子。如果我直接编辑插件,它就会工作,将“帖子”替换为“产品”。如果我添加了我希望是