WordPress无插件实现游客投稿功能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了WordPress无插件实现游客投稿功能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3564字,纯文字阅读大概需要6分钟。
内容图文
![WordPress无插件实现游客投稿功能](/upload/InfoBanner/zyjiaocheng/1083/9ffbaec6407b483d903c37514780d1eb.jpg)
WordPress不安装插件如何实现游客投稿功能?SEO博客推荐下面方法轻松实现。
首先,复制文件page.php重命名为contribute.php。
其次,将contribute.php文件中,在<?php get_header(); ?>前面添加如下代码:
-
<?php
-
/*
-
Template Name:游客投稿
-
*/
-
if(isset($_POST[‘contributeform‘])&&$_POST[‘contributeform‘]==‘send‘){
-
global $wpdb;
-
$last_post=$wpdb->get_var("SELECT post_date FROM $wpdb->posts WHERE post_type = ‘post‘ ORDER BY post_date DESC LIMIT 1");
-
if(current_time(‘timestamp‘)-strtotime($last_post)<60){wp_die(‘投稿间隔应至少为1分钟!‘);}
-
$name=isset($_POST[‘authorname‘])?trim(htmlspecialchars($_POST[‘authorname‘],ENT_QUOTES)):‘‘;
-
$email=isset($_POST[‘authoremail‘])?trim(htmlspecialchars($_POST[‘authoremail‘],ENT_QUOTES)):‘‘;
-
$url=isset($_POST[‘authorurl‘])?trim(htmlspecialchars($_POST[‘authorurl‘],ENT_QUOTES)):‘‘;
-
$title=isset($_POST[‘articletitle‘])? trim(htmlspecialchars($_POST[‘articletitle‘],ENT_QUOTES)):‘‘;
-
$category=isset($_POST[‘cat‘])?(int)$_POST[‘cat‘]:0;
-
$content=isset($_POST[‘articlecontent‘])?trim(htmlspecialchars($_POST[‘articlecontent‘],ENT_QUOTES)):‘‘;
-
if(emptyempty($name)||mb_strlen($name)>30){wp_die(‘作者笔名必须填写,且长度不能超过30个字符!‘);}
-
if(emptyempty($email)||strlen($email)>60||!preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix",$email)){wp_die(‘作者邮箱必须填写,且长度不能超过60个字符,并符合邮箱格式!‘);}
-
if(emptyempty($title)||mb_strlen($title)>120){wp_die(‘文章标题必须填写,且长度不能超过120个字符!‘);}
-
if(emptyempty($content)||mb_strlen($content)>20000||mb_strlen($content)<100){wp_die(‘文章内容必须填写,且长度不能超过20000个字符,不能少于100个字符!‘);}
-
$post_content=‘作者笔名:‘.$name.‘<br />作者邮箱:‘.$email.‘<br />作者主页:‘.$url.‘<br />文章内容:<br />‘.$content;
-
$contribute=array(‘post_title‘=>$title,‘post_content‘=>$post_content,‘post_category‘=>array($category));
-
$status=wp_insert_post($contribute);
-
if($status!=0){
-
wp_mail(‘‘.get_option(‘blog_mail_username‘).‘‘,‘‘.get_option(‘blogname‘).‘游客投稿‘,‘您的‘.get_option(‘blogname‘).‘有游客投稿!‘);
-
wp_die(‘投稿成功,您的文章将在审核通过后发布!‘,‘投稿成功‘);}
-
else{wp_die(‘投稿失败‘);}}
-
?>
再次,在<?php the_content(); ?>后面添加如下代码:
-
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
-
<div class="contributebox">
-
<div class="inputclass"><input type="text" name="authorname" id="authorname" value="" /><label for="authorname">作者笔名(必填)</label></div>
-
<div class="inputclass"><input type="text" name="authoremail" id="authoremail" value="" /><label for="authoremail">作者邮箱(必填)</label></div>
-
<div class="inputclass"><input type="text" name="authorurl" id="authorurl" value="" /><label for="authorurl">作者主页</label></div>
-
<div class="inputclass"><input type="text" name="articletitle" id="articletitle" value="" /><label for="articletitle">文章标题(必填)</label></div>
-
<div class="inputclass"><?php wp_dropdown_categories(‘show_count=1&hierarchical=1‘); ?><label for="cat">文章分类(必选)</label></div>
-
<textarea name="articlecontent" id="articlecontent" onblur="if(this.innerHTML==‘‘){this.innerHTML=‘文章内容...‘;this.style.color=‘‘}" onFocus="if(this.innerHTML==‘文章内容...‘){this.innerHTML=‘‘;this.style.color=‘‘}">文章内容...</textarea>
-
<input type="hidden" value="send" name="contributeform" />
-
<input type="submit" class="contributesubmit" id="contributesubmit" value="确认投稿" />
-
</div>
-
</form>
最后,新建一个页面,模板选择“游客投稿”(contribute.php),就形成了一个投稿页面。
本文出自 “何碧玉的博客” 博客,请务必保留此出处http://hebiyu90.blog.51cto.com/9736895/1590772
原文:http://hebiyu90.blog.51cto.com/9736895/1590772
内容总结
以上是互联网集市为您收集整理的WordPress无插件实现游客投稿功能全部内容,希望文章能够帮你解决WordPress无插件实现游客投稿功能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。