Wordpress - 不包括AJAX请求中的页眉/页脚

时间:2017-04-06 16:09:02

标签: ajax wordpress

在ProcessWire中,在发出AJAX请求时,您可以在模板文件中设置它:

<?php if (!$config->ajax) include('./head.inc'); ?>

是否有Wordpress的等价物?

<?php get_header(); ?>

1 个答案:

答案 0 :(得分:2)

您可以设置$ _GET参数

function ajax_query() {
    // Return normally if the ajax query isn't set
    if ( ! isset( $_GET['_pjax'] ) ) {
        return;
    }

    set_query_var( 'ajax', 'true' );
}

add_filter( 'template_redirect', 'ajax_query' );

然后使用参数/page/?ajax=true进行JS AJAX调用。

在模板中:

$is_ajax_query  = get_query_var( 'ajax' );

if ( $is_ajax_query && 'true' === $is_ajax_query) :
    get_header();
endif;

就其他答案而言,我不知道是否只会在JS请求中调用wp_doing_ajax函数。我从未尝试过,而且没有太多文档。我不知道WordPress如何知道它是一个AJAX请求。对于WordPress,它看起来就像我想的普通获取请求。所以参数可以工作。