WordPress自定义PHP文件在访问时返回404

时间:2019-06-20 13:49:21

标签: php wordpress apache http-status-code-404

我正在运行自定义脚本(带有某些功能的ajax)。 问题是不是所有的.php文件都已加载...

当我访问URL / whatever.php时,它显示404未找到。

我尝试更改htaccess文件,并尝试将该文件移动到其他目录。但是,我可以通过这种方式访问​​图像-因此重写可能存在问题吗?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress```

404 page displaying...

1 个答案:

答案 0 :(得分:0)

functions.php

add_action( 'wp_ajax_your_custom_function', 'custom_function_init' );
add_action( 'wp_ajax_nopriv_your_custom_function', 'custom_function_init' );

function custom_function_init() {
    $fields = $_REQUEST;
    //do whatever you want
    echo 'return something';
    die();
}

到'footer.php'

<script>
    var ajax_url = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
</script>

和您的ajax内容,在JS文件中的某个位置

function do_ajax(data) {
    if( xhr != null ) {
        xhr.abort();
        xhr = null;
    }

    xhr = $.ajax({
        url: ajax_url,
        timeout: 3600,
        type: "POST",
        cache: false,
        data: ({
            action:'your_custom_function',
            data:data
        }),

        beforeSend: function() {
        },
        success: function( data ) {
            console.log(data)   

        },
        error: function( jqXHR, textStatus, errorThrown ) {
            console.log( 'The following error occured: ' + textStatus, errorThrown );
        },
        complete: function( jqXHR, textStatus ) {
        }
    });
}