📜  允许访问者在您的 wordpress 网站上写帖子 (1)

📅  最后修改于: 2023-12-03 14:50:02.378000             🧑  作者: Mango

允许访问者在您的 WordPress 网站上写帖子

如果您拥有一个 WordPress 网站,并且想允许访问者在上面写帖子,那么您可以通过以下步骤实现。

步骤一:添加新的用户角色

首先,您需要添加一个新的用户角色,以便访问者可以在您的网站上写帖子。您可以通过以下代码在 functions.php 文件中添加新的角色:

add_role( 'contributor', 'Contributor', array(
    'read' => true,
    'edit_posts' => true,
    'delete_posts' => false,
    'publish_posts' => false,
    'upload_files' => true
) );

上面的代码将添加一个名为 Contributor 的新角色,该角色具有以下权限:

  • read:可以阅读文章。
  • edit_posts:可以编辑自己的文章。
  • delete_posts:不能删除文章。
  • publish_posts:不能发布文章。
  • upload_files:可以上传文件。
步骤二:允许访问者注册

接下来,您需要允许访问者注册为您网站的用户。您可以通过以下步骤来实现:

  1. 登录 WordPress 后台。
  2. 转到“设置”>“常规”。
  3. 在“会员注册”下选择“任何人都可以注册”选项。
  4. 点击“保存更改”按钮。
步骤三:添加新的文章表单

最后,您需要添加一个新的文章表单,以便访问者可以在您的网站上写帖子。您可以通过以下代码在 functions.php 文件中添加新的文章表单:

function wpb_adding_custom_form() {
    if ( is_user_logged_in() ) {
        $form = '<form id="new_post" name="new_post" method="post" action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '">
        <input type="text" id="title" name="title" size="45" placeholder="请输入文章标题" /><br />
        <textarea id="content" name="content" cols="50" rows="6" placeholder="请输入文章内容"></textarea><br />
        ' . wp_nonce_field( 'new-post' ) . '
        <input type="submit" value="提交" />
        </form>';

        echo $form;
    }
}
add_shortcode( 'wpb_new_form', 'wpb_adding_custom_form' );

上面的代码将添加一个名为 new_post 的文章表单,该表单包含文章标题和内容的字段,还包括一个提交按钮。此外,该表单还包括一个 wp_nonce_field() 函数调用,以帮助防止 CSRF 攻击。

结论

现在,访问者就可以在您的 WordPress 网站上写帖子了。他们可以注册为网站用户,然后使用您添加的表单来撰写帖子。您可以在前端页面添加一个短代码来显示表单,如下所示:

[wpb_new_form]

希望这篇文章对您有所帮助!