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交流群,交流建站经验。
WordPress建站交流群:8424781
WordPress从入门到放弃
本站声明:
1. 本站所有资源来源于网络,分享目的仅供大家学习和交流! 2. 不得使用于非法商业用途,不得违反国家法律。否则后果自负! 3. 本站提供的资源,都不包含技术服务请大家谅解! 4. 如有链接无法下载、失效或广告,请联系站长处理!
1. 本站所有资源来源于网络,分享目的仅供大家学习和交流! 2. 不得使用于非法商业用途,不得违反国家法律。否则后果自负! 3. 本站提供的资源,都不包含技术服务请大家谅解! 4. 如有链接无法下载、失效或广告,请联系站长处理!
再次声明:如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
本站所有资源解压密码均为www.huziy.com或者www.92luntan.com