gpt4 book ai didi

javascript - 如何从 WordPress 中的 ajax 处理程序调用我主题的 functions.php 中的方法?

转载 作者:行者123 更新时间:2023-11-30 20:00:23 24 4
gpt4 key购买 nike

我的主题的 functions.php 文件中有一个方法,我想通过 ajax 处理程序调用它。

拥有 ajax 处理程序的目的是避免为每个 ajax 请求加载 wordpress 堆栈(包括插件)..

函数.php

function klarna_checkout_sc() {
echo do_shortcode('[woocommerce_klarna_]');
exit();
}

add_action('wp_ajax_nopriv_klarnacheckoutsc', 'klarna_checkout_sc');
add_action('wp_ajax_klarnacheckoutsc', 'klarna_checkout_sc');

jquery 脚本:

  $.ajax({
type: 'GET',
url: 'https://mywebsite/wp-content/plugins/zb-ajax-handler/zbajaxhandler.php',
cache: false,
data: { action: 'klarnacheckoutsc'},
success: function(data) {
},
error: function(xhr,status,error) {
console.log('klarnacheckoutsc error:'+error);
}
});

zbajaxhandler.php:(ajax 处理程序)

<?php

define('SHORTINIT',true);
require_once('../../../wp-load.php');

klarna_checkout_sc();

echo "success";

?>

klarna_checkout_sc() 添加到 ajax 处理程序文件中时,我遇到了上面的 500 内部服务器错误

你知道如何正确调用 klarna_checkout_sc() 方法到我的事件 Divi 主题吗?

感谢任何帮助。谢谢

最佳答案

尝试使用 Action Hook 而不是创建调用短代码的函数。通过替换此行在您的 ajax 处理程序中调用它

klarna_checkout_sc();

do_action( 'kco_wc_before_checkout_form' );

来源是https://docs.woocommerce.com/document/klarna-checkout-hooks-actions-filters/

关于javascript - 如何从 WordPress 中的 ajax 处理程序调用我主题的 functions.php 中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53444949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com