在wordpress中提供备用页面模板

时间:2015-12-07 09:21:28

标签: wordpress

我制作了一个处理ajax帖子的WordPress插件。

每当我使用ajax发布到同一页面或插件时,我只需返回一定数量的数据,而不是默认页面模板所具有的所有页眉和页脚。

每当我在ajax post后得到服务器的响应时,我需要将数据附加到某个div。那么如何在运行时使用不同的页面模板:一个是在加载插件页面时另一个是在收到服务器的响应/数据之后的另一个页面模板?

页面模板结构:

<?php
 /**
    Template Name: Page
 */
    //get header
    //get content
    //get footer ?>

空白页面模板结构:

<?php
 /**
    Template Name: blank page
 */
    //get content
?>

现在在服务器的ajax响应期间我想使用空白页面模板。我怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:1)

WordPress已经支持AJAX通话,你不需要重新发明轮子。

基本上,您将函数绑定到具有特殊前缀wp_ajax_的操作:

add_action( 'wp_ajax_my_action', 'my_action_callback' );
add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' );

然后,WordPress已经定义了此URL,您只需使用它:

var data = {
    'action': 'my_action',
    'whatever': 1234
};

// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(ajaxurl, data, function(response) {
    alert('Got this from the server: ' + response);
});

使用此方法将确保您获得干净的AJAX响应,而不包含主题部分。

可以在WordPress Codex中找到详细信息:http://codex.wordpress.org/AJAX_in_Plugins#Ajax_on_the_Viewer-Facing_Side