WordPress纯代码添加文章投稿功能
很多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(); ?>"><input type="text" id="tougao_title" value="" name="tougao_title" placeholder="网站标题"/><input type="text" id="tougao_url" value="" name="tougao_url" placeholder="网站地址" /><input type="text" id="tougao_url" value="" name="tougao_url" placeholder="网站类别(请填写贵站类别)"/><input type="text" id="tougao_description" name="tougao_description" placeholder="网站描述"><input type="text" id="tougao_icon" value="" name="tougao_icon" placeholder="网站icon图标"/><div ><input type="hidden" value="send" name="tougao_form" /><button type="submit" value="提交" >提交申请</button><button type="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″]
结束
一个简单的投稿功能就完成了,大家可以亲自上手试试,有什么问题可以加入我们的wordpress交流群,交流建站经验。
WordPress建站交流群:1038181019
扫码关注wpwp自学笔记
精选优质免费WordPress主题模板,分享最新WordPress实用建站教程!
记住我们的网址:ztJun.com
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END