代表怎么为w博客网站打造在线投稿功能

2020年09月17日 • 药膳食疗 • 阅读 1

怎么为wp博客站打造投稿功能最近微部落博客进行了一些微调,不知道细心的朋友有没有看出来。那就是对投稿页面和站收录页面进行了完善。作为我们

怎么为wp博客站打造投稿功能

最近微部落博客进行了一些微调,不知道细心的朋友有没有看出来。那就是对投稿页面和站收录页面进行了完善。作为我们草根站长,我们不仅需要读者,也需要作者,毕竟仅仅靠我们自产的文章

,数量是有限的。所以很多站长朋友都迫切的需要让大家来投稿,之前微部落博客是依靠邮箱来接收稿件的,为了让作者更便捷,于是便打算制作一个前台投稿的页面。经过和几位站长交流,目前emlog博客系统的投稿功能比较完善,用户只需注册一个账户,便可以投稿,后台跟A5的投稿界面有点像。那么我们WordPress博客站有这样的功能么?显然,WordPress本身并不提供投稿功能,但是WordPress拥有强大的扩展能力,我们可以自己来添加这个功能。有两个方向:一个是寻找插件,一个是自己动手编写代码。先从简单的开始:wp插件实现wp博客站投稿功能。通过百度和若干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页面。当然络上有办法在不改变原始址的情况下解决这个问题,这里微部落博客不做细述。WP User Frontend插件的固定连接问题2、submit posts插件这是个极其简单的拥有AJAX效果的投稿插件,没有附加其他任何功能,支持游客投稿,不依赖任何的框架,无需任何设置.使用方法:解压上传,激活。后台创建一个投稿的页面,在需要插入投稿表单的地方插入[submit_posts]即可,在日志中插入也有效。可根据你的主题风格,添加CSS样式,使用投稿表单看上去更漂亮。功能:投稿到审核状态。投稿成功后给投稿者发送邮件通知。但这个插件页面比较简陋,当然他支持CSS,有兴趣的可以自己完善。3、DX-Contribute插件DX-Contribute是一个wordpress投稿插件,主要功能如下:允许游客无需注册即可在你的站投稿。灵活的后台设置,可以自定义限定内容输入字数,为投稿的文章指定分类等。前台内容采用wordpress内置的文章器,简单易用。该wordpress插件还有很好的验证保护措施,会自动检测标题字数、email格式,并且能够有效控制用户重复投稿。不过这个插件已经超过两年没有更新了。当然wordpress投稿插件还有别的,但主要是以上三种,在尝试了三种插件后,微部落博客有找到了不用插件的解决方案:不用插件用代码解决wordpress站投稿功能经过几种尝试,微部落博客在露兜博客找到了合适的方法,并经过微调。(建议大家可以去露兜博客看看原文:WordPress添加投稿功能)步骤如下:1、找到当前主题目录下p,并复制传输到本地电脑,重命名为p。2、搜索:the_content,可以查找到类似代码?php the_content(); ?,在这行代码下面添加表单样式代码:form class=ludou-tougao method=post action=?php echo $_SERVER[REQUEST_URI]; $current_user = wp_get_current_user(); ?div style=text-align: left; padding-top: 10px;label for=tougao_authorname昵称:*/labelinput type=text size=40 value=?php if ( 0 != $current_user-ID ) echo $current_user-user_login; ? id=tougao_authorname name=tougao_authorname //divdiv style=text-align: left; padding-top: 10px;label for=tougao_authoremailE-Mail:*/labelinput type=text size=40 value=?php if ( 0 != $current_user-ID ) echo $current_user-user_email; ? id=tougao_authoremail name=tougao_authoremail //divdiv style=text-align: left; padding-top: 10px;label for=tougao_authorblog您的博客:/labelinput type=text size=40 value=?php if ( 0 != $current_user-ID ) echo $current_user-user_url; ? id=tougao_authorblog name=tougao_authorblog //divdiv style=text-align: left; padding-top: 10px;label for=tougao_title文章标题:*/labelinput type=text size=40 value= id=tougao_title name=tougao_title //divdiv style=text-align: left; padding-top: 10px;label for=tougaocategorg分类:*/label?php wp_dropdown_categories(hide_empty=0id=tougaocategorgshow_count=1hierarchical=1); ?/divdiv style=text-align: left; padding-top: 10px;label style=vertical-align:top for=tougao_content文章内容:*/labeltextarea rows=15 cols=55 id=tougao_content name=tougao_content/textarea/divbr clear=alldiv style=text-align: center; padding-top: 10px;input type=hidden value=send name=tougao_form /input type=submit value=提交 /input type=reset value=重填 //div/form3、在文件头部,添加代码:?php/*Template Name: 投稿模板*/if( isset($_POST[tougao_form]) $_POST[tougao_form] == send) {global $wpdb;$current_url = // 注意修改此处的链接地址$last_post = $wpdb-get_var(SELECT `post_date` FROM `$wpdb-posts` ORDER BY `post_date` DESC LIMIT 1);// 博客当前最新文章发布时间与要投稿的文章至少间隔120秒。// 可自行修改时间间隔,修改下面代码中的120即可// 相比Cookie来验证两次投稿的时间差,读数据库的方式更加安全if ( (date_i18n(U) strtotime($last_post)) 120 ) {wp_die(您投稿也太勤快了吧,先歇会儿!a href=.$current_url.点此返回/a);}// 表单变量初始化$name = isset( $_POST[tougao_authorname] ) ? trim(htmlspecialchars($_POST[tougao_authorname], ENT_QUOTES)) :又考虑到亲戚和家人不想让他们舟车劳顿 ;$email = isset( $_POST[tougao_authoremail] ) ? trim(htmlspecialchars($_POST[tougao_authoremail], ENT_QUOTES)) : ;$blog = isset( $_POST[tougao_authorblog] ) ? trim(htmlspecialchars($_POST[tougao_authorblog], ENT_QUOTES)) : ;$title = isset( $_POST[tougao_title] ) ? trim(htmlspecialchars($_POST[tougao_title], ENT_QUOTES)) : ;$category = isset( $_POST[cat] ) ? (int)$_POST[cat] : 0;$content = isset( $_POST[tougao_content] ) ? trim(htmlspecialchars($_POST[tougao_content], ENT_QUOTES)) : ;// 表单项数据验证if ( empty($name) || mb_strlen($name) 20 ) {wp_die(昵称必须填写,且长度不得超过20字。a href=.$current_url.点此返回/a);}if ( empty($email) || strlen($email) 60 || !preg_match(/^([a-z\+_\-]+)(\.[a-z\+_\-]+)*@([a-z\-]+\.)+[a-z]{2,6}$/ix, $email)) {wp_die(Email必须填写,且长度不得超过60字,必须符合Email格式。a href=.$current_url.点此返回/a);}if ( empty($title) || mb_strlen($title) 100 ) {wp_die(标题必须填写,且长度不得超过100字。a href=.$current_url.点此返回/a);}if ( empty($content) || mb_strlen($content) 10000 || mb_strlen($content) 100) {wp_die(内容必须填写,且长度不得超过10000字,不得少于100字。a href=.$current_url.点此返回/a);}$post_content = 昵称: .$ /Email: .$ /blog: .$ /内容:br /.$content;$tougao = array(post_title = $title,post_content = $post_content,post_category = array($category));// 将文章插入数据库$status = wp_insert_post( $tougao );if ($status != 0) {// 投稿成功给博主发送邮件// somebody#替换博主邮箱// My subject替换为邮件标题,content替换为邮件内容wp_mail(somebody#,My subject,content);wp_die(投稿成功!感谢投稿!您的文章将在审核通过后发布!a href=.$current_url.点此返回/a, 投稿成功);}else {wp_die(投稿失败!a href=.$current_url.点此返回/a);}}?4、保存上传到主题目录,然后新建一个页面,用投稿模板。不出意外的话,就OK了,当然你可以逐步调整代码,进一步完善。当然你可以再将功能完善,比如:WordPress投稿功能添加邮件提醒功能 还有WordPress投稿功能添加富文本器;这里微部落博客不展开,大家可以去露兜博客作进一步研究。好了,实现WordPress添加投稿功能的办法基本如上,微部落博客也是整理了一些百度到的资料,希望能够帮到你,另外希望各位有空投个稿给我。文章来源:微部落博客(号:)欢迎转载本文,转载请保留出处!



新余牛皮癣治疗方法
吕梁男科医院
宝宝起名公司

合作伙伴

友情链接