wordpress无法加载我的钩子

时间:2017-04-17 14:12:11

标签: php jquery ajax wordpress plugins

你好我整天都在处理这件事,我无法弄清楚导致这个问题的原因请帮助我。 我通过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钩子我认为某些文件没有被加载。

1 个答案:

答案 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/