简谈wordpress ajax翻页中的ajax请求,为什么会一直返回“0”

&script type="text/javascript"&
jQuery.ajax({
type: 'POST',
url: "&?php echo admin_url( 'admin-ajax.php' );?&",
action: 'myajax_submit'
success: function(res) {
console.log(JSON.stringify("--"+res));
2 后端functions.php里面接受请求
add_action( 'wp_ajax_nopriv_myajax_submit', 'myajax_submit' );
add_action( 'wp_ajax_myajax_submit', 'myajax_submit' );
function myajax_submit() {
$response = json_encode( array( 'success' =& true ) );
header( "Content-Type: application/json" );
// 这个很关键啊有木有: 别忘记 "exit"
注意 前端action名字要和后端wp_ajax_nopriv_XXX名字后缀对应起来
剩下的按照格式相应改就可以了,
wp_ajax_nopriv_
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区自在飞花轻似梦
当前位置:
& WordPress前台异步ajax登录、注册功能的实现
纯代码实现的,这就不用说了,发现有的网站也有前台自定义登录功能,但是不是ajax的,就是登录页面的代码是事先加载好了,然后通过js控制使它显示隐藏,为了一个小小的功能,完全不必要事先加载这么多代码,所以自己写了一个ajax登录、注册页面,只有点击了登录/注册才会加载登录注册的代码,并在前台暗箱显示出来,达到异步加载的目的,为了异步加载的速度,把登录和注册分开来加载,所以切换这两个功能也是异步的。
说是wordpress的功能,但是理论上适合任何网站的功能,只需要修改一下表单提交网址就行了。效果请看本站右上角的登录、注册。
首先新建两个php文件,把编码格式为设置成你网站的编码格式(如UTF-8),一个命名为login.php,另一个命名为register.php。
把以下代码扔到login.php中并保存上传到主题目录下:
&style&#win{-webkit-animation: bounce 1s .2-moz-animation: bounce 1s .2}#back{z-index:2;POSITION: left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,.8);}&/style&
&div id="win" style="display: POSITION: margin: 0top:30%; width:400 height:250max-width:100%; border:1px solid #888; background:rgb(18, 93, 151) url('/lg2.jpg') no- color: rgb(18, 126, 61);text-align:padding: 0box-shadow: rgba(0,0,0,.8) 0 0 8"&
&div style="text-align:margin:8height:20"&&a href="javascript:closeLogin();" style="color: #438856;cursor:height: 20display:float:"&关闭&/a&&/div&
&form name="loginform" id="loginform" action="/wp-login.php" method="post"&
&p&&div for="user_login"&用户名&&&input type="text" name="log" id="user_login" size="20" style="height:20color:#A84343"" value="请输入用户名" onfocus="if (this.value == '请输入用户名') {this.value = '';}" onblur="if (this.value == '') {this.value = '请输入用户名';}"&&/div&&/p&&p&&div for="user_pass"&密&&&码&&&input type="password" name="pwd" id="user_pass" size="20" style="height:20color:#A84343" value=""&&/div&&/p&
&p class="forgetmenot"&&div for="rememberme" style="margin:10px 0;padding: 0 0 0 15"&&input name="rememberme" type="checkbox" id="rememberme" value="forever" checked& 记住登录信息&|&&a href="/wp-login.php?action=lostpassword"&忘记密码?&/a&&/div&&/p&
&p&&input type="submit" name="wp-submit" id="wp-submit" style="width: 85height: 35margin: 0 0 0 60cursor:" value="登录"&&span style="width: 85height: 35margin: 0 0 0 20cursor:" id="zuce"&注册&/span&
&input type="hidden" name="redirect_to" value="/"&
&input type="hidden" name="testcookie" value="1"&&/p&&/form&&/div&
function openLogin(){
document.getElementById("win").style.display="";
document.getElementById("back").style.display="";}
function closeLogin(){
document.getElementById("win").style.display="none";
document.getElementById("back").style.display="none";}
$('#zuce').click(function(){$('#back').load('/wp-content/themes/QIUYE/register.php');document.getElementById("back").style.display="";});
再把一下代码扔到register.php当中并保存上传到主题目录下:
&style&#win{-webkit-animation: bounce 1s .2-moz-animation: bounce 1s .2}#back{z-index:2;POSITION: left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,.8);}&/style&
&div id="win" style="display: POSITION: margin: 0top:30%; width:400 height:250max-width:100%; border:1px solid #888; background:rgb(18, 93, 151) url('/lg2.jpg') no- color: rgb(18, 126, 61);text-align:padding: 0box-shadow: rgba(0,0,0,.8) 0 0 8"&
&div style="text-align:margin:8height:20"&&a href="javascript:closeLogin();" style="color: #438856;cursor:width: 30height: 20display:float:"&关闭&/a&&/div&
&form name="registerform" id="registerform" action="/wp-login.php?action=register" method="post" novalidate=""&
&p&&div for="user_login"&用&户&名&&&&input type="text" name="user_login" id="user_login" value="如:shazi" onfocus="if (this.value == '如:shazi') {this.value = '';}" onblur="if (this.value == '') {this.value = '如:shazi';}" style="height:20color:#A84343" size="20"&&/div&&/p&&p&&div for="user_email"&电子邮件&&&input type="email" name="user_email" id="user_email" value="如:" onfocus="if (this.value == '如:') {this.value = '';}" onblur="if (this.value == '') {this.value = '如:';}" style="height:20color:#A84343" size="20"&&/div&&/p&&input type="hidden" name="redirect_to" value=""&
&p class="forgetmenot"&
&div for="rememberme" style="margin:10px 0;padding: 0 0 0 15padding-left: 70"&密码将以电子邮件发送给你&/div&
&/p&&p&&input type="submit" name="wp-submit" id="wp-submit" style="width: 85height: 35margin: 0 0 0 60cursor:" value="注册"&&span style="width: 85height: 35margin: 0 0 0 20cursor:" id="denglu"&登录&/span&&/p&&/form&&/div&
function openLogin(){
document.getElementById("win").style.display="";
document.getElementById("back").style.display="";
}function closeLogin(){
document.getElementById("win").style.display="none";
document.getElementById("back").style.display="none";
}$('#denglu').click(function(){$('#back').load('/wp-content/themes/QIUYE/login.php');document.getElementById("back").style.display="";});
最后在前台需要显示登录的地方加上以下代码:
&span class="user_logged"&&a class="llogin"&登录&/a&&span class="textline"&&&/span&&a class="zzuce"&注册&/a&&/span&
最最后在主题的公共js文件中加上以下的代码:
jQuery(document).ready(function($){
$('.llogin').click(function() {$('#back').load('/wp-content/themes/QIUYE/login.php');document.getElementById("back").style.display="";});
$('.zzuce').click(function() {$('#back').load('/wp-content/themes/QIUYE/register.php');document.getElementById("back").style.display="";});});
注意把红色部分改成你的主题文件夹名称。其它类型网站还需要修改蓝色部分,总之按照自身情况修改自己的url。
看似代码复杂繁多,其实它一点都不影响网站打开速度,因为它是ajax异步加载功能~不要被虚无的外壳所迷惑。
转载请保留链接: | 出处:| 本文链接地址:
阅读本文的用户还浏览了
揭露一种ajax跨域病毒...
JQ的ajax点击事件只执行第一次的解决...
Ajax网页技术对网站SEO无影响...
Ajax重载页面js脚本代码失效的解决办...
卢哥ajax主题下载...
全站ajax技术实现的通用方法...
0.455秒内55次SQL查询|内存28.5MB
版权所有&& -&百家网络博客  在wordpress中ajax请求的url地址是统一的,用$admin_url=admin_url( ‘admin-ajax.php’
  2.在主题的function.php中写接收请求处理函数
random_str();
add_action('wp_ajax_say',
add_action('wp_ajax_nopriv_say',
add_action('wp_ajax_say',
add_action('wp_ajax_nopriv_say',
  重点是这两个钩子函数,wp_ajax_say第一个参数是wp_ajax_函数名称,wp_ajax_nopriv_say表示没有登录的用户的处理函数,这里对有没有登录的用户都是一样的,所以都写上。
  就这样,就已经实现了ajax的功能,是不是很方便,但是wordpress的ajax请求感觉好慢啊!!!
  最好附上随机输出名言的函数:
random_str () {
$poems=array(
'三人行,必有我师焉。择其善者而从之,其不善者而改之。――孔子',
'成为卓越的代名词,很多人并不需要杰出素质的环境。――Steve
'活着就是为了改变世界,难道还有其他原因吗?――Steve
yourself.(追随你的内心)――Steve Jobs',
'生活是不公平的;要去适应它。――比尔盖茨',
'走自己的路,让别人说去吧。――但丁',
'成功并不是一条直线,而是一条蜿蜒曲折的线。',
'让你难过的事情,有一天,你一定会笑着说出来。
――《肖申克的救赎》',
'如果额头终将刻上邹纹,你只能做到邹纹不要刻在你心上。――中国合伙人',
'梦想是什么,梦想就是一种让你感到坚持就是幸福的东西。――中国合伙人',
'记住你即将死去――乔布斯',
'当你快乐时,你要想,这快乐不是永恒的。当你痛苦时你要想这痛苦也不是永恒的。',
'古人云:尽人事,听天命。',
'如果人生能像svn一样能恢复到以前任何一个版本该多好啊',
Hungry, Stay Foolish',
'做你喜欢的事情不会觉得累',
'今天很残酷,明天更残酷,后天会很美好,但绝大多数人都死在明天晚上――马云',
'天才就是百分之九十九的努力加上百分之一的灵感,但是没有那百分之一的灵感万万不行
――爱迪生',
'不要被教条束缚,那意味着你和别人一样思考,不要被他人的观点掩盖你真正的想法,听从你的直觉和心灵的指示。――Steve
clock hand can return to the original point, but it is not that of yesterday.
$poems[rand(0,count($poems)-1)];
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

我要回帖

更多关于 wordpress ajax主题 的文章

 

随机推荐