很多WordPress博客上都有用户投稿的功能,这个功能用处还是比较大的,不仅适用于文章投稿,还适用于友链提交、网址提交等需要用到表单提交的地方。
就像本站网址导航页面的网址提交,也算是一种投稿功能,只不过是投稿给网址导航而不是文章。如下图:
要实现文章投稿功能其实也挺简单的,下面分享我自用的投稿功能代码:
1、首先在当前主题的目录下新建一个php文件,命名为submit.php。
2、将下面功能代码添加到 submit.php 文件中。
功能代码
<?php/* Template Name: 网址提交 */ get_header();$bloginfo = get_bloginfo(\url\);if( isset($_POST[\tougao_form\])&& $_POST[\tougao_form\]== \send\){global $wpdb;$current_url = $bloginfo.\/site\;// 注意修改此处的链接地址$last_post = $wpdb->get_var(\”SELECT `post_date` FROM `$wpdb->posts` ORDER BY `post_date` DESC LIMIT 1\”);// 表单变量初始化$title = isset( $_POST[\tougao_title\] ) ? trim(htmlspecialchars($_POST[\tougao_title\], ENT_QUOTES)) : \\;$url = isset( $_POST[\tougao_url\] ) ? $_POST[\tougao_url\] : \\;$description = isset( $_POST[\tougao_description\] ) ? trim(htmlspecialchars($_POST[\tougao_description\], ENT_QUOTES)) : \\;$icon = isset( $_POST[\tougao_icon\] ) ? $_POST[\tougao_icon\] : \\;?><?php if( empty($title)|| mb_strlen($title)<1){?><script>alert(\”网站标题不能为空!\”);</script><meta http-equiv=\”refresh\” content=\”0;url=<?php $bloginfo ?>\”><?php die;}?><?php if( empty($url)|| mb_strlen($url)<1){?><script>alert(\”网站地址不能为空!\”);</script><meta http-equiv=\”refresh\” content=\”0;url=<?php $bloginfo ?>\”><?php die;}?><?php if( empty($description)|| mb_strlen($description)<5){?><script>alert(\”网站描述不能为空,且不得少于5个字!\”);</script><meta http-equiv=\”refresh\” content=\”0;url=<?php $bloginfo ?>\”><?php die;}?><?php if( empty($icon)|| mb_strlen($icon)<1){?><script>alert(\”网站icon图标不能为空!\”);</script><meta http-equiv=\”refresh\” content=\”0;url=<?php $bloginfo ?>\”><?php die;}?><?php$post_content = \网站标题: \.$title.\<br />网站地址: \.$url.\<br />网站描述: \.$description.\<br />网站icon图标:\.$icon;$tougao = array(\post_title\ => $title, \post_content\ => $post_content,\post_status\ => \publish\,//\post_type\ => \site\ //tougao_type是要保存到的自定义文章类型);// 将文章插入数据库$status = wp_insert_post( $tougao );if ($status != 0) { ?><script>alert(\”发布成功!\”);</script><meta http-equiv=\”refresh\” content=\”0;url=<?php $bloginfo ?>\”><?php }else{?><script>alert(\”发布失败,请重新填写!\”);</script><meta http-equiv=\”refresh\” content=\”0;url=<?php $bloginfo ?>\”><?php }}?>
3、将下面表单代码添加到功能代码下面
添加表单
<form method=\”post\” action=\”<?php echo $_SERVER[\”REQUEST_URI\”]; $current_user = wp_get_current_user();?>\”><inputtype=\”text\”id=\”tougao_title\”value=\”\”name=\”tougao_title\”placeholder=\”网站标题\”/><inputtype=\”text\”id=\”tougao_url\”value=\”\”name=\”tougao_url\”placeholder=\”网站地址\”/><inputtype=\”text\”id=\”tougao_url\”value=\”\”name=\”tougao_url\”placeholder=\”网站类别(请填写贵站类别)\”/><inputtype=\”text\”id=\”tougao_description\”name=\”tougao_description\”placeholder=\”网站描述\”><inputtype=\”text\”id=\”tougao_icon\”value=\”\”name=\”tougao_icon\”placeholder=\”网站icon图标\”/><div><inputtype=\”hidden\”value=\”send\”name=\”tougao_form\”/><buttontype=\”submit\”value=\”提交\”>提交申请</button><buttontype=\”reset\”value=\”重填\”>清空</button></div></form>
4、添加页面内容代码
<div><?php while(have_posts()): the_post();?><?php the_content();?><?php endwhile;?></div>
5、添加底部代码
<?php get_footer();?>
6、最后新建页面,页面属性选择刚才创建的网址提交即可。
我们也可以给自定义分类投稿文章,具体方法可以查看下面这篇文章:
[xx_insert_post station_article=”1523″]
结束
一个简单的投稿功能就完成了,大家可以亲自上手试试
暂无评论内容