零基础学做网站培训介绍

当前位置:

WordPress前台游客投稿功能制作方法(纯代码)

纯代码Wordpress前台投稿功能制作方法,很多建网站学员学习了WordPress教程后,使用Wordpress 程序建了网站。但如果每天都是自己更新文章,感觉会有点累。为了减轻发文章的劳动量,可以给自己的网站添加WordPress投稿功能,这样就可以让普通用户在线投稿文章了。

wordpress前端用户投稿功能

如何制作wordpress前端用户投稿功能呢?下面是学做网站论坛分享的方法。

方法/步骤

  1. 在主题文件夹下面新建一个【tougao.php】文件,把主题文件page.php里面的代码全选复制到文件中;(如果对Wordpress模板文件不了解,可以学习一下wordpress模板制作教程
  2. 打开tougao.php,在第一个【< ?php】代码(一般是  ) 后面敲几个回车,然后把以下代码粘贴进来。
    
    
    /*
    Template Name: 投稿模板
    */
    if( isset($_POST['tougao_form']) && $_POST['tougao_form'] == ‘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″);
    // 博客当前最新文章发布时间与要投稿的文章至少间隔120秒。
    // 可自行修改时间间隔,修改下面代码中的120即可
    // 相比Cookie来验证两次投稿的时间差,读数据库的方式更加安全
    if ( current_time(‘timestamp’) – strtotime($last_post) < 120 )
    {
    wp_die(‘您投稿也太勤快了吧,先歇会儿!’);
    }

    // 表单变量初始化
    $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字’);
    }

    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) > 100 )
    {
    wp_die(‘标题必须填写,且长度不得超过100字’);
    }

    if ( empty($content) || mb_strlen($content) > 3000 || mb_strlen($content) < 100)
    {
    wp_die(‘内容必须填写,且长度不得超过3000字,不得少于100字’);
    }

    $post_content = ‘昵称: ‘.$name.’<br />Email: ‘.$email.’<br />blog: ‘.$blog.’<br />内容:<br />’.$content;

    $tougao = array(
    ‘post_title’ => $title,
    ‘post_content’ => $post_content,
    ‘post_category’ => array($category)
    );
    // 将文章插入数据库
    $status = wp_insert_post( $tougao );

    if ($status != 0)
    {
    // 投稿成功给博主发送邮件
    // somebody#example.com替换博主邮箱
    // My subject替换为邮件标题,content替换为邮件内容
    wp_mail(“somebody#example.com”,”My subject”,”content”);
    wp_die(‘投稿成功!感谢投稿!’, ‘投稿成功’);
    }
    else
    {
    wp_die(‘投稿失败!’);
    }
    }
  3. 找到page.php里面的文章内容调用代码,一般是【< ?php the_content(); ?>】,在后面粘贴以下表单代码。
    
    
    <form id=”tougaoform” method=”post” action=”<?php echo $_SERVER["REQUEST_URI"]; ?>”>
    <p><input id=”author” type=”text” size=”40″ value=”" name=”tougao_authorname” /><label>昵称(*必填)</label></p>
    <p><input id=”email” type=”text” size=”40″ value=”" name=”tougao_authoremail” /><label>邮箱(*必填)</label></p>
    <p><input id=”url” type=”text” size=”40″ value=”" name=”tougao_authorblog” /><label>您的博客/文章来源</label></p>
    <p><input id=”tougao_title” type=”text” size=”40″ value=”" name=”tougao_title” /><label>文章标题(*必填)</label></p>
    <p><input id=”tags” type=”text” size=”40″ value=”" name=”tougao_tags” /><label>文章标签(多个标签请用英文逗号 , 分开)</label></p>
    <p><?php wp_dropdown_categories(‘show_option_none=请选择文章分类&show_count=1& hierarchical=1&hide_empty=0′); ?><label>文章分类(*必填)</label></p>
    <textarea rows=”15″ cols=”55″ id=”tougao” name=”tougao_content”></textarea>
    <p>
    <input type=”hidden” value=”send” name=”tougao_form” />
    <input id=”submit” type=”submit” value=”提交” />
    <input id=”reset” type=”reset” value=”重填” />
    </p>
    </form>
  4. 在网站后台新建一个page页面,可以随便写一个标题,比如“欢迎投稿”,然后在内容里面写上你的投稿要求。
    Wordpress投稿功能
  5. 在页面发布下面有一个页面属性,在【模板】里面选择【投稿模板】;
  6. 这样,Wordpress投稿功能就制作好了。

3条回应:“WordPress前台游客投稿功能制作方法(纯代码)”

  1. 学习建网站学员 承诺一生说道:

    网站的投稿功能确实比较难做,但对于网站投稿功能我们一般会使用插件来实现,但我感觉插件比较麻烦,会给自己的网站造成很多的冗余代码,今天看到这篇使用代码来实现投稿功能的方法,感觉很不错。
    我想使用这个方法去测试一下,将自己的网站的投稿功能使用代码做出来。

  2. 学习建网站学员 sun说道:

    $name = isset( $_POST[‘tougao_authorname’] ) ? trim(htmlspecialchars($_POST[‘tougao_authorname’], ENT_QUOTES)) : “;
    这里出现语法错误
    syntaxerror,unexpected $eof expecting T_STRING or T_VAEIABLE… or T_ NUM_STRING
    请问怎么修改???

    • 学做网站论坛讲师 学做网站讲师说道:

      注意代码中单引号与双引号需要是英文状态下的

发表评论

邮箱地址不会被公开。 必填项已用*标注

相关教程

  • 漂亮的wordpress淘客模板 图文教程 (18494 次浏览)
    今天再次给大家分享一款自己仿的一个wordpress淘客模板。这个模板是我自己在别人模板的基础上进行二次开发,自己比较喜欢。注意:此模板不支持IE6,
  • 用什么建网站?Wordpress建网站好不好?这些问题经常被新手问上问起。可以这样说,wordpress程序可以建各种类型的网站,它的功能强大之处令人称赞,
  • 纯代码Wordpress前台投稿功能制作方法,很多建网站学员学习了Wordpress教程后,使用Wordpress 程序建了网站。但如果每天都是自己更新文章,感觉会有点
  • 对于使用wordpress程序做网站的学员来说,程序自带的用户注册功能实在不太美观,对于追求完美的建站者,只能通过自己做一个用户注册页面来让网站
  • 提高网站的“回头客”,我们需要给注册会员提供一些特权,而对游客隐藏部分wordpress文章,因为有很多自己做网站论坛vip学员问到,所以这里就提供一段代
  • 我们自己建网站过程中,使用的很多程序是没有自带的投稿,发布页面,需要我们自己去做这样的页面,其实并不复杂,按照下面的步骤,你就可以在学做网站
  • wordpress评论功能可以让用户在我们自己的网站上进行对文章的评论,发表自己的观点,很好的增强了网站与用户之间的交互性。还有的网站还添加了邮件功
  • 很多网站都有对联广告,当我们打开它的网站的时候,会在屏幕的两边自动的出现二个对联广告,显的很醒目。网站对联广告对于做cpa,cps的朋友有很大
  • 请注意,这里说的文章分页,不是学做网站论坛以前说的wordpress分页插件进行网站分类目录分页,而是一篇文章如果文字过多,会造成网页篇幅过长,影响