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、最后新建页面,页面属性选择刚才创建的网址提交即可。

1. 本站所有资源来源于用户上传和互联网,如有侵权请及时联系站长!
2. 分享目的仅为供大家学习和交流,请不要用于商业用途!您需在下载24H内删除!
3. 如果你也有好源码、素材或教程,可以发布提交审核,推广有RMB奖励和额外收入!
4. 本站提供的源码、模板、插件、素材或教程等资源,都不包含技术服务请大家谅解!
5. 如有链接、图片无法下载或失效,请及时联系站长处理!
6. 本站资源的售价只是赞助,收取微弱费用来维持本站的日常运营所需!
7. 本站不保证所提供下载的资源准确性、安全性和完整性,源码仅供下载学习之用!
8. 如用于商业或者非法用途,与本站无关,一切后果请用户自负!
9. 如遇到加密压缩包,默认解压密码为"SanSummers",如无法解压请联系站长!
叁夏资源(SanSummers) » WordPress如何添加文章投稿功能

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 免责声明。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 提交工单.。
本站资源是否提供技术服务?
本站提供的源码、模板、插件、素材或教程等资源,都不包含技术服务请大家谅解!
叁夏资源
专业精品资源分享平台!致力于收集各类高质量精品资源,VIP更享无限下载之体验。
  • 761会员总数(位)
  • 1889资源总数(个)
  • 42本周发布(个)
  • 0 今日发布(个)
  • 341稳定运行(天)

提供全网最优质的资源集合

加入VIP会员 获取全站资源
升级SVIP尊享更多特权立即升级