php点击一下就触发,仅在单击时执行php函数(wordpress)

小编典典

尽管拉斐尔(Raphael)在回答中已经说明了背后的想法,但我还是想补充一些细节。

将AJAX与Wordpress结合使用的最佳方法是使用其内置的处理方式,并且通过将请求发送到wp-admin/admin-

ajax.php(我知道文件名的“ admin”部分有点误导。但是所有请求都位于前面,可以在其中处理终端(查看端)和管理员admin-

ajax.php,这有很多好处,尤其是在安全方面;对于将要执行的服务器端代码php,应将其放置在中functions.php。

您的jQuery代码如下所示:

$(document).ready(function() {

$('.tabs a').click(function(e) {

e.preventDefault();

var tab_id = $(this).attr('id');

$.ajax({

type: "GET",

url: "wp-admin/admin-ajax.php",

dataType: 'html',

data: ({ action: 'yourFunction', id: tab_id}),

success: function(data){

$('#tab'+tab_id).html(data);

},

error: function(data)

{

alert("Error!");

return false;

}

});

});

});

在functions.php您的主题中(或直接在您的插件文件中),添加:

add_action('wp_ajax_yourFunction', 'yourFunction');

add_action('wp_ajax_nopriv_yourFunction', 'yourFunction');

并在相同的文件yourFunction回调函数中定义如下:

function yourFunction() {

// get id

// your php code

die();

}

对于javascript部分,请看ajax()及其简写get()。对于将AJAX与Wordpress结合使用的最佳做法,网络上有很多教程(我会再提供一个)。祝好运

编辑:

正如Karl所提到的,您可以使用.load()代替ajax(),应该注意的.load()是只是包装$.ajax()。它添加了功能,使您可以定义将返回的数据插入到文档中的何处。因此,仅在调用仅会导致HTML时才真正可用。它的名称与其他名称略有不同,因为它是与特定的jQuery包装的DOM元素绑定的方法。因此,可以这样做:$('#divWantingContent').load(...)内部调用.ajax()。

但是我最初的答案是关于如何按照WordPress

最佳实践来组织php代码。

2020-07-26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值