投稿时间需要间隔100秒
//可自行修改100秒的时间间隔 if ( current_time('timestamp') - strtotime($last_post) < 100 ) { wp_die('需要间隔100s才能继续投稿哦!'); }
表单变量初始化
$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)) : '';
假如需要加入表单验证
昵称必须填写,E-mail必须填写;并限制长度
if ( empty($name) || mb_strlen($name) > 20 ) { wp_die('昵称必须填写,长度不得超过20字'); } if ( empty($email) || strlen($email) > 60 || !preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $email)) { wp_die('Email必须填写,长度不得超过60字,必须符合Email格式'); }
标题和内容,同理,并限制长度
if ( empty($title) || mb_strlen($title) > 50 ) { wp_die('标题必须填写,且长度不得超过50字'); } if ( empty($content) || mb_strlen($content) > 3500 || mb_strlen($content) < 100) { wp_die('内容必须填写,且长度不得超过3500字,不得少于100字'); }
将文章插入数据库
$status = wp_insert_post( $tougao );
个人博客很少用到投稿,真要投稿可以考虑邮件投稿或者开放注册。