当我在WordPress中尝试直接运行php脚本时,我被重定向到主页

时间:2016-10-18 作者:George

http://my_domain/path_to_my_script/my_php_script.php

当我尝试运行我的\\u php\\u脚本时。php直接通过Internet在我的浏览器中给出上面的路径,我被重定向到Wordpress的主页。

为什么会出现这种情况?

我已经评论了中的所有行。htaccess文件,可以在根Wordpress中找到,以查看该文件中是否存在问题,但情况更糟-当我尝试通过Internet访问该php文件时,我遇到了500个内部服务器错误。

我正在ajax请求中使用该脚本。

你能告诉我怎么解决那个问题吗。

1 个回复
SO网友:Benoti

要在ajax中使用外部脚本,必须注册一个操作来触发它。为此,您需要使用wp\\u ajax\\u YourAction和wp\\u ajax\\u nopriv\\u YourAction

add_action(\'wp_ajax_YourAction\', \'myAjaxFunction\');
// just a way to quickly print your js
add_action(\'wp_head\', \'print_js\');

function print_js(){
    ?><script type="text/javascript" >
            jQuery(document).ready(function($) {
                var data = {
                        action: \'YourAction\',
                        fun: \'42\',

                    };
                $.post(ajaxurl, data, function(response) {
                        console.log(response);
                        var json = $.parseJSON(response);

                        alert(\'the fun number is\'+response.fun);

                });
            });
    </script><?php
}
function myAjaxFunction(){
    if(isset($_POST[\'fun\'])){
        $action = $_POST[\'fun\'];
    }

    switch ($action) {

        case \'fun\':
            echo json_encode(array(\'fun\'=>$_POST[\'fun\']+1))
            exit();
        break;

        default:
        break;
}
这只是一个简单的示例,具体取决于您想如何触发ajax调用和要发布的数据。