ad2020314
游戏联盟分享平台-全自助-免费游戏分享-七玩网
独家出售24-70级附魔端授权、完美六职业、农场BOSS挑战、自定义加密RFS、支持称号图片,同时兼容64位与32位系统。-七玩网
蓝易云香港服务器特惠:29元/月尊享1核1G内存10Mbps CN2线路,大带宽首选,品质推荐,信赖之选!-七玩网
AI DIGEST
AI 摘要
LIVE

本文介绍使用 WordPress 的 wp_ajax 钩子实现子比主题点击按钮弹出提示框的进阶方法,适用于有 PHP 基础的开发者。首先在 functions.php 中创建自定义函数,调用子比自带的 `zib_send_json_success` 或 `zib_send_json_error` 函数输出提示信息,并通过 `add_action('wp_ajax_动作名', '函数名')` 挂载。前端使用带有 `zibajax="submit"` 和 `form-action="动作名"` 属性的按钮触发请求。未登录用户需额外使用 `wp_ajax_nopriv_` 钩子,通常与 `wp_ajax_` 钩子同时添加。Ajax 请求通过 jQuery 发送到 `ajaxurl`,根据返回的 `response.success` 状态处理成功或失败回调,最终在页面上显示子比主题的提示框效果。

子比主题进阶玩法 – ajax实现点击按钮弹出子比提示框

前言

之前写子比的提示框都是写jq代码去处理ajax,最近试了试wp_ajax钩子来实现这个效果。本教程只适用于有些php基础的进阶玩法!

示例代码

function代码(或func.php)

function zib_ajax_notyf(){
    // echo zib_send_json_error(array('msg' => '这是一个测试失败提示'));
    echo zib_send_json_success(array('msg' => '这是一个测试成功提示'));
    wp_die();
}
add_action('wp_ajax_zib_ajax_notyf' , 'zib_ajax_notyf');

执行代码

<div class="box-body text-center">
        <a class="but c-blue padding-lg mr10" value="demo_btn" zibajax="submit" form-action="zib_ajax_notyf">点击执行</a>
    </div>

代码解释

function中首先创建了个函数 命名一下(不重复即可),子比自带提示的函数 例如zib_send_json_success成功函数,zib_send_json_error失败函数,只需要echo输出一下这个函数并里面传递一个数据即可,之后使用动作钩子挂到wp_ajax_(action)即可,使用示例

add_action( 'wp_ajax_xxxxxxx', 'xxxxxxxxx' );

在页面中写一个按钮并传入action即可,因为子比自带了按钮的class,所以就使用子比的样式,这里使用的a标签创建的按钮。zibajax=”submit”处理ajax,form-action=”动作名”这里与之前的wp_ajax_(action)一致

未登录用户

wp_ajax_(action)这个钩子是处理已登录用户的,如果没登录用户也需要进行处理。这里使用wp_ajax_nopriv_(action)钩子,通常wp_ajax和wp_ajax_nopriv一起使用

ajax处理流程

发送一个ajax请求后处理情况,下面是一个处理示例。同样也是action动作。

jQuery.ajax({
    url: ajaxurl, 
    type: 'POST',
    data: {
        action: 'zib_ajax_notyf',
    },
    success: function(response) {
        if (response.success) {
            console.log(response.data.msg);
        } else {
            console.error(response.data.msg);
        }
    }
});

效果图

20251026143400391-image-284

 

转载 https://www.zibll.com/forum-post/40809.html


© 版权声明
THE END
文章不错?点个赞呗
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容