一对一免费咨询: 13913005726 025-66045668

相信有不少站长朋友都或多或少接触过wordpress吧,其中很多人都需要一个投稿页面,当然其中好处不言而喻了。网上有的投稿插件是英文的,有的类似于留言本,有的会显示乱码,而今天笔者就教大家自己做一个插件来实现投稿功能。

首先新建submit_posts_ajax.php,将以下内容复制进去:

?php

function submit_posts_ajax(){

网站制作公司 if($_POST['submit_posts_ajax']=='yinheli'){

$title=strip_tags(trim($_POST['post_title']));

$name=trim($_POST['your_name']);

$mail=trim($_POST['your_email']);

$site=trim($_POST['your_site']);

$content=stripslashes(trim($_POST['post_content']));

$tags=strip_tags(trim($_POST['post_tags']));

global $wpdb;

$db="SELECT post_title FROM $wpdb-posts WHERE post_title = '$title' LIMIT 1";

if ($wpdb-get_var($db)){

echo 'div class="ps_errormsg"发现重复文章.你已经发表过了.或者存在该文章/div';

die();

开发右脑的网站 }

if(!empty($site)){

if(substr($site, 0, 7) != 'http://') $site= 'http://'.$site;

$author='a href="'.$site.'" title="'.$name.'"'.$name.'/a';

}else{

$author=$name;

}

$info='div class="post_submit_info"感谢: '.$author.' 的供稿./div'."\n\n";

if(isset($_POST['post_submit'])){

//错误判断

if($title==''){

echo 'div class="ps_errormsg"错误:没有填写标题!/div';

die();

}

elseif($mail==''){

echo 'div class="ps_errormsg"错误:没有填写邮箱地址./div';

die();

}

elseif($content==''){

echo 'div class="ps_errormsg"错误:还没有填写内容!!!/div';

die();

}else{

//提交数据

$content=$info.$content;

$submitdata=array(

'post_title' =$title,

'post_content' =$content,

'tags_input' =$tags,

'post_status' = 'pending'

);

$post_id = wp_insert_post($submitdata,$wp_error = false);

$subject='您给[ '.get_option('blogname').' ]写了篇文章 标题是: '.$title;

$message='非常感谢您的供稿.您的稿件已经提交.等待管理员的审核. 以下是您提交的内容:hr'.stripslashes(trim($_POST['post_content']));

yinheli_sendmail_ps($mail,$subject,$message);

echo 'div class="ps_msg"非常感谢您的供稿.您的稿件已经提交.等待管理员的审核.请耐心等待./div';

@header('Content-type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));

die();

}

}

if(isset($_POST['post_review'])){

if(''==$content){

echo '还没有填写内容';

die();

}

if(''==$tags) $tags='您还没有填写 标签 (Tags)';

echo 'div class="ps_reviewmsg"

h2'.$title.'/h2

div class="ps_reviewcontent"

'.$info.$content.'

p class="ps_reviewtags"标签:'.$tags.'/p

/div

/div';

die();

}

die();

}

}

function yinheli_sendmail_ps($to,$subject,$message){

$blogname = get_option('blogname');

$charset = get_option('blog_charset');

$ps_sendmail_headers= "From: $blogname \n" ;

$ps_sendmail_headers .= "MIME-Version: 1.0\n";

$ps_sendmail_headers .= "Content-Type: text/html;charset=\"$charset\"\n";

return @wp_mail($to, $subject, $message, $ps_sendmail_headers);

}

function submit_posts_load_js(){

echo "\n".'script type="text/javascript" src="' . get_bloginfo('wpurl') . '/wp-content/plugins/submit_posts/submit_posts.js"/script'."\n";

}

add_action('init', 'submit_posts_ajax');

require_once('submit_posts.php');

function submit_posts_display(){

submit_posts_load_js();

$submit_posts_html=submit_posts_html();

return $submit_posts_html;

}

add_shortcode('submit_posts','submit_posts_display');

?

接下来新建submit_posts.php,同样将以下内容复制进去:

script type="text/javascript"

!--

//--

/script?php

function submit_posts_html(){

ob_end_clean();

ob_start();

?

div id="ps_msg"欢迎给我供稿/div

form id="post_submit_form" name="post_submit_form" method="post" action=""

div class="row"

input type="hidden" name="submit_posts_ajax" id="submit_posts_ajax" value="yinheli"/

labelinput type="text" name="post_title" id="post_title" tabindex="1" value="?php echo strip_tags($_POST['post_title']);?"/ 投稿标题(必填)/label

/div

div class="row"

labelinput type="text" name="your_name" id="your_name" tabindex="2" value="?php echo $_POST['your_name'];?" / 您的名字或昵称/label

/div

div class="row"

labelinput type="text" name="your_email" id="your_email" tabindex="3" value="?php echo $_POST['your_email'];?" / 您的邮箱(必填)/label

/div

div class="row"

labelinput type="text" name="your_site" id="your_site" tabindex="4" value="?php echo $_POST['your_site'];?" /您的网站/label

/div

div class="row"

textarea name="post_content" cols="50" rows="15" id="post_content" tabindex="5"?php echo stripslashes($_POST['post_content']);?/textarea

/div

div class="row"

labelinput type="text" name="post_tags" id="post_tags" tabindex="6" value="?php echo strip_tags($_POST['post_tags']);?" / 标签(tags)[每个标签用半角的逗号分开]/label

/div

div id="submit_post"

input type="submit" name="post_review" id="post_review" value="预览" tabindex="7" /

input type="submit" name="post_submit" id="post_submit" value="提交" tabindex="8" /

/div

div style="clear:both"/div

/form

?php

$html=ob_get_contents();

ob_end_clean();

return $html;

}

?

最后再新建submit_posts.js,将以下内容复制进去:

/*

Author: 89948

Update: 2009/04/11

Author URI: http://www.89948.net/

*/

(function(){

if(!window.YHLJSPS) window['YHLJSPS']={};

function isCompatible(other) {

if( other===false

|| !Array.prototype.push

|| !Object.hasOwnProperty

|| !document.createElement

|| !document.getElementsByTagName

) {

alert('TR- if you see this message isCompatible is failing incorrectly.');

return false;

}

return true;

}

function $(id){

return document.getElementById(id);

}

var xmlHttp;

function getXmlHttpObject(){

var xmlHttp = null;

try {

xmlHttp = new XMLHttpRequest();

} catch(e) {

try {

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch(e) {

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xmlHttp;

}

function setStyle(element, key, value) {

element.style[key] = value;

}

function addEvent(node,type,listener){

if(!isCompatible()) { return false }

if(node.addEventListener){

node.addEventListener(type,listener,false);

return true;

}else if(node.attachEvent){

node['e'+type+listener]=listener;

node[type+listener]=function(){

node['e'+type+listener](window.event);

}

node.attachEvent('on'+type,node[type+listener]);

return true;

}

}

function insertAfter(node, referenceNode) {

if(!(node = $(node))) return false;

if(!(referenceNode = $(referenceNode))) return false;

return referenceNode.parentNode.insertBefore(node, referenceNode.nextSibling);

};

function preventDefault(eventObject) {

eventObject = eventObject || getEventObject(eventObject);

if(eventObject.preventDefault) {

eventObject.preventDefault();

} else {

eventObject.returnValue = false;

}

}

function formToRequestString(form_obj,val){

var query_string='';

var 北京延庆县网站建设公司 and='&';

for (i=0;iform_obj.length ;i++ ){

e=form_obj[i];

if (e.name!='' && e.type!='submit'){

if (e.type=='select-one'){

element_value=e.options[e.selectedIndex].value;

}else if (e.type=='checkbox' || e.type=='radio'){

if (e.checked==false){

break;

}element_value=e.value;

}else{

element_value=e.value;

}

query_string+=and+encodeURIComponent(e.name)+'='+encodeURIComponent(element_value);

}

}

return query_string;

}

function setopacity(node,opacity){

setStyle(node, 'opacity', opacity);

setStyle(node, 'MozOpacity', opacity);

setStyle(node, 营销型小程序案例 'KhtmlOpacity', opacity);

setStyle(node, 'filter', 'alpha(opacity=' + opacity * 100 + ')');

return;

}

function stateChangeListener(){

var r_msg=$('ps_msg');

var the_form=$('post_submit_form');

if(xmlHttp.readyState==1){

r_msg.innerHTML='数据载入中,请稍候...';

setopacity(the_form,0.8);

$('post_submit').disabled=true;

window.scrollTo(0,r_msg.offsetTop+15);

}else if(xmlHttp.readyState==4 && xmlHttp.status==200){

r_msg.innerHTML=xmlHttp.responseText;

setopacity(the_form,1);

setTimeout(function(){$('post_submit').disabled=false;},1000);

}else if(xmlHttp.status!=200){

alert('呃 出错了 (建议您保存好文章再刷新浏览器.)错误信息:'+xmlHttp.statusText);

}

}

function submitactiontype(type){

var A=formToRequestString($('post_submit_form'))+'&'+encodeURIComponent($(type).name)+'='+encodeURIComponent($(type).value);

return A;

}

function ps_submit(action){

xmlHttp = getXmlHttpObject();

if (xmlHttp == null) {

alert ("Oop! Browser does not support HTTP Request.")

return;

}

var url=window.location.href;

if(action=='post_submit'){

var senddata=submitactiontype(action);

}

if(action=='post_review'){

var senddata=submitactiontype(action);

}

xmlHttp.onreadystatechange=function(){

stateChangeListener();

}

xmlHttp.open("POST", url, true);

xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

xmlHttp.send(senddata);

}

function initps(){

addEvent($('post_submit'),'click',function(W3CEvent){

ps_submit(action='post_submit');

//alert(action);

preventDefault(W3CEvent);

});

addEvent($('post_review'),'click',function(W3CEvent){

ps_submit(action='post_review');

//alert(action);

preventDefault(W3CEvent);

});

}

if (document.addEventListener) {

document.addEventListener("DOMContentLoaded", initps, false);

} else if (/MSIE/i.test(navigator.userAgent)) {

document.write('script id="__ie_onload_for_post_posts" defer src="javascript:void(0)"/script');

var script = $('__ie_onload_for_post_posts');

script.onreadystatechange = function() {

if (this.readyState == 'complete') {

initps();

}

}

} else if (/WebKit/i.test(navigator.userAgent)) {

var _timer = setInterval( function() {

if (/loaded|complete/.test(document.readyState)) {

clearInterval(_timer);

initps();

}

}, 10);

} else {

window.onload = function(e) {

initps();

}

}

})();

把以上三个文件保存在submit_posts文件夹内,上传至插件目录,并进后台安装该插件。使用时只需要新建页面并输入[submit_posts]即可调用出。

本文由www.89948.net 站长供稿转载请注明来源,谢谢!


 


 南京牧狼文化传媒有限公司简介:


      牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!


  公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!


  为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!


  主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等


  合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯


  资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。



致力于为客户创造更多价值
13913005726 025-66045668
需求提交
电话咨询
在线咨询