现在很多个人博客为了增加博客的内容,都会提供投稿通道,大部分都是以邮箱的形式进行投稿,不过这样一来,也很费人力,要拷贝复制,然后编辑等。如果给博客加个在线投稿功能,那就方便多了。稍微审核下文章内容就可以了。下面介绍一些如何给WordPress博客增加在线投稿功能的方法。

有两个方向:一个是寻找插件,一个是自己动手编写代码。

通过百度和若干WordPress技术网站,我们整理出下面几款。

1、WP User Frontend插件,这是用户中心插件。

功能如下:

用户可以在前台发布文章

用户可以前台查看和管理他们自己的文章

用户可以前台编辑个人资料

管理员可以设置哪些等级的用户才允许访问WordPress后台(/wp-admin)

可以设置用户的新文章状态,例如 已发布、草稿、等待审核等

当用户发布新文章时,邮件通知管理员

设置是否允许用户编辑和删除他们的文章

允许用户发布文章时上传附件

允许用户设置特色图像

管理员可以前台管理用户(添加用户,删除用户等)

支持收费发布文章(设置用户要发布文章是否需要付费)

使用方法如下:

设置你的WordPress固定链接要包含%postname%,插件才生效。

新建一个名为页面“新文章”,添加简码 [wpuf_addpost] 然后发布,这个页面就可以显示用户自己的文章。如果想显示自定义文章类型,比如 event,可以添加简码 [wpuf_addpost post_type=”event”]

新建一个名为“编辑”的页面,添加简码 [wpuf_edit] 然后发布,这个页面就是用来前台编辑文章的。

新建名为“个人资料”的页面,添加简码 [wpuf_editprofile],用来显示和编辑用户个人资料

新建名为“仪表盘”的页面,添加简码 [wpuf_dashboard] 就是前台用户中心主页 。如果要主页显示自定义文章类型的列表,可以使用 [wpuf_dashboard post_type=”event”]

要显示所有的订购发布信息,请使用简码 [wpuf_sub_info]

要显示所有的订购发布套餐,请使用简码 [wpuf_sub_pack]

要编辑用户,插入短代码 [wpuf-edit-users]

对于认购的付款页面,以及付款完后的配置, 在插件设置选项卡上中的“PayMents”选项下进行设置。认购付款页面,创建一个新的页面,并在WP用户前端的“贝宝付款页面”选项插入的页ID。

如果需要良好的现实用户中心页面,可以为WP User Frontend的页面单独定制一个模板,这样可以提供更好的使用体验。

但是这个插件有个最大的麻烦,那就是需要到网站固定连接将你的自定义网址改成%postname%。这是个麻烦的活,微部落博客之前都是用的

%post_id%。这对于老站,不仅工作量大,而且会造成大量的404页面。当然网络上有办法在不改变原始网址的情况下解决这个问题,这里微部落博客不做细述。

2、submit posts插件

这是个极其简单的拥有AJAX效果的投稿插件,没有附加其他任何功能,支持游客投稿,不依赖任何的框架,无需任何设置.

使用方法:解压上传,激活。后台创建一个投稿的页面,在需要插入投稿表单的地方插入[submit_posts]即可,在日志中插入也有效。

可根据你的主题风格,添加CSS样式,使用投稿表单看上去更漂亮。

功能:

投稿到审核状态。

投稿成功后给投稿者发送邮件通知。

但这个插件页面比较简陋,当然他支持CSS,有兴趣的可以自己完善。

3、DX-Contribute插件

DX-Contribute是一个wordpress投稿插件,主要功能如下:

允许游客无需注册即可在你的网站投稿。

灵活的后台设置,可以自定义限定内容输入字数,为投稿的文章指定分类等。

前台内容采用wordpress内置的文章编辑器,简单易用。

该wordpress插件还有很好的验证保护措施,会自动检测标题字数、email格式,并且能够有效控制用户重复投稿。

不过这个插件已经超过两年没有更新了。

当然wordpress投稿插件还有别的,但主要是以上三种,在尝试了三种插件后,微部落博客有找到了不用插件的解决方案:

不用插件用代码解决wordpress网站在线投稿功能

经过几种尝试,微部落博客在露兜博客找到了合适的方法,并经过微调。

步骤如下:

1、找到当前主题目录下page.php,并复制传输到本地电脑,重命名为tougao-page.php。

2、搜索:the_content,可以查找到类似代码,在这行代码下面添加表单样式代码:

”>昵称:*ID ) echo $current_user->user_login; ?>” id=”tougao_authorname” name=”tougao_authorname” />