你好我整天都在处理这件事,我无法弄清楚导致这个问题的原因请帮助我。 我通过wordpress编辑器用一个按钮使用ajax调用了一个php文件。 这段代码在我的tinymce按钮文件中调用php函数
(function() {
tinymce.PluginManager.add('ImageSlider', function( editor, url ) {
function customfunction() {
jQuery(document).ready( function($) {
var dir1 = "../wp-content/plugins/Midnight Image-Slider/MDslider.php";
$.ajax({
url: dir1,
success: function(data) {
$('.mce-window-body').append(data);
}
})
})
}
editor.addButton( 'ImageSlider', {
title: 'My test button',
image: url + '/lion.jpg',
onclick: function(){
editor.windowManager.open({
title: 'Image slider',
width:800,
height:450,
body:[
printCarousel(),
customfunction()
],
onSubmit: function(e) {
}
})
}
});
});
})();
当它调用php文件时,它给了我这个错误 wordpress未捕获错误:调用未定义的函数 除非我在php文件的顶部写了require wp-config.php部分然后错误消失但它仍然没有加载任何wordpress钩子。
require_once(dirname(__FILE__).'../../../../wp-config.php');
add_action('init','loadFile');
function loadFile(){
echo 'hello world';
}
hello world仅在不在函数中时显示,但我需要能够使用wp钩子我认为某些文件没有被加载。
答案 0 :(得分:2)
您的Ajax实现方法不符合WordPress标准。
WordPress使用wp_ajax_
& wp_ajax_no_prev_
次行动
您可以从
中了解有关WordPress中Ajax实现的更多信息Custom ajax requests in wordpress
https://codex.wordpress.org/AJAX_in_Plugins
https://www.smashingmagazine.com/2011/10/how-to-use-ajax-in-wordpress/