我正在創建一個wordpress博客,每個帖子縮略圖都有小方框。當你點擊一個,它擴展並加載與Ajax的帖子。對於這個功能,我想要加載JUST裏的內容,而不是一堆附加的HTML。然而,爲了提供永久鏈接或人們共享帖子的能力,並直接鏈接到他們從Facebook或任何其他人,我仍然需要一個單一的職位模板,其中包括所有額外的HTML和頁面格式。wordpress template_redirect for two single.php文件允許ajax和非ajax後加載
簡而言之,我希望能夠使用其固定鏈接鏈接到一篇文章,另外我希望能夠使用jquery .load()
下面是我在我的函數文件:
function my_template_redirect() {
global $wp_query;
if ('ajax' == $wp_query->query_vars['name']) {
$wp_query->is_404 = false;
status_header(200);
$args = array(
'p' => $post->ID,
'post_type' => $post->post_type
);
query_posts($args);
the_post();
load_template( TEMPLATEPATH . '/ajax-single.php');
die();
}
}
add_action('template_redirect', 'my_template_redirect');
所以現在,當我使用它的正常永久鏈接,如(www.page.com/permalink)加載後,它加載了正常的single.php版本,當我加載這樣的帖子時:(www.page.com/permalink/ajax),它顯示了一個使用ajax-single.php作爲頁面模板的精簡版本。問題是,它在ajax版本中一次加載所有文章,而不是僅僅是有問題的文章。我如何確保它只加載我想要的那個?
你是否缺少'global $ post'?我原以爲你得到所有的帖子,因爲你傳遞了NULL'p' ... – 2012-02-21 23:46:38