[WordPress开发]如何添加文章投稿功能

很多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 class="t">
<input type="hidden" value="send" name="tougao_form" />
<button class="button" type="submit" value="提交" >提交申请</button>
<button class="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、最后新建页面,页面属性选择刚才创建的网址提交即可。

结束

一个简单的投稿功能就完成了,大家可以亲自上手试试.

人已赞赏
建站教程

[WordPress开发]主题常用模板名称、常用标签和函数大全

2020-4-23 15:52:41

建站教程

[WordPress开发]博客如何获取站点总访问量

2020-4-23 15:52:48

下载说明

  • 1、本站所提供的资源若无特别说明,解压密码均为wysacg.top
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 4、资源可能会无故被和谐,导致下载链接不可用,请在文章页面留言,以便本站及时进行更新;
  • 5、获取更多资源请前往 里站

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索