很多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交流群,交流建站经验。
WordPress建站交流群:8424781
WordPress从入门到放弃
文章来自Vivi源码http://www.vxiaotou.com转载请注明出处,谢谢!!!
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- Vivi资源网