599CN.COM - 【源码之家】老牌网站源码下载站,提供完整商业网站源码下载!

在WordPress中添加投稿功能的代码

源码网2023-07-24 10:49:08185WordPress用户WordPress功能

为你的WordPress网站增加更多互动:添加投稿功能

在WordPress中,你可以使用投稿功能让你的读者成为你网站的作者。这个功能可以吸引更多用户参与,增加网站的内容,提升用户体验。本文将详细介绍如何在WordPress中添加投稿功能的代码。

1. 创建投稿表单

首先,你需要创建一个投稿表单,这样用户才能够提交文章。你可以使用HTML和CSS创建一个表单,并利用WordPress提供的API将其与后台连接。

在你的主题文件夹中,创建一个名为"submit-post.php"的文件,并添加以下代码:

```html
```

在这个表单中,我们使用了`admin-post.php`作为`action`属性的值。它是WordPress提供的一个用于处理表单提交的默认文件。

2. 处理表单提交

接下来,你需要编写一个处理表单提交的函数。在你的主题的`functions.php`文件中,添加以下代码:

```php function submit_post_handler() { // 获取表单提交的数据 $post_title = $_POST['post_title']; $post_content = $_POST['post_content']; // 创建新的文章 $new_post = array( 'post_title' => $post_title, 'post_content' => $post_content, 'post_status' => 'pending', // 默认设置为待审核状态 'post_type' => 'post', ); // 插入文章到数据库 $post_id = wp_insert_post( $new_post ); // 重定向到成功提交的页面 wp_redirect( home_url('/thank-you/') ); exit; } add_action( 'admin_post_nopriv_submit_post', 'submit_post_handler' ); ```

这段代码中,我们创建了一个处理表单提交的函数`submit_post_handler()`。首先,我们从表单中获取文章标题和内容,并使用`wp_insert_post()`函数将其插入到数据库中创建新的文章。

最后,我们使用`wp_redirect()`函数将用户重定向到一个成功提交的页面。你可以根据需要修改重定向的URL。

3. 更新用户角色权限

默认情况下,WordPress只允许登录用户提交文章。你可以通过更新用户角色权限来允许未登录用户也能够提交文章。

在你的主题的`functions.php`文件中,添加以下代码:

```php function add_submit_post_capability() { $role = get_role( 'subscriber' ); $role->add_cap( 'submit_post' ); } add_action( 'init', 'add_submit_post_capability' ); ```

这段代码将为`subscriber`角色添加一个名为`submit_post`的权限。你可以根据需要修改角色的名称和权限名称。

4. 显示投稿表单

现在,你需要在你的网站上显示投稿表单,让用户能够访问并提交文章。

在你想要显示投稿表单的页面中,添加以下代码:

```html

提交文章

你必须登录后才能提交文章。

```

这段代码首先检查用户是否已登录或者拥有`submit_post`权限,如果是,则显示投稿表单;如果不是,则显示一条提示信息要求用户登录。

5. 修改表单样式

最后,你可以通过为表单添加CSS样式来使其更加吸引人。你可以在你主题的CSS文件中添加以下代码:

```css #submit-post-form { max-width: 500px; margin: 0 auto; } #submit-post-form input, #submit-post-form textarea { width: 100%; margin-bottom: 10px; } ```

这段代码将设置表单的最大宽度为500px,并将输入框和文本框的宽度设置为100%。

总结

通过添加投稿功能,你可以让更多的用户参与你的WordPress网站,并为其提供更多有价值的内容。通过创建投稿表单、处理表单提交、更新用户角色权限、显示投稿表单和修改表单样式,你可以轻松地为你的WordPress网站添加投稿功能。

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://599cn.com/post/20617.html