栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

仅在单击时执行php函数(wordpress)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

仅在单击时执行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 pre    die();    }

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

编辑:

正如Karl所提到的,您可以使用

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

但是我最初的答案是关于如何按照WordPress
最佳实践来组织php代码。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号