2012-06-15 56 views
0

我遇到了這個腳本的問題,它應該在查看自定義發佈頁面時加載自定義模板。自定義發佈頁面模板

我已經把一個回聲命令,以確保該網址是正確的,但我甚至沒有迴應該網址。

function da_custom_post_type_template($single_template) { 
    global $post; 

    if ($post->post_type == 'include') { 

      $single_template = PLUGIN_PATH. 'template/custom_template.php'; 
    } 
    echo $single_template; 
    return $single_template; 
} 
add_filter("single_template", "da_custom_post_type_template") ; 

請幫

+0

試類呼應「測試」;並檢查它是否回顯或不...我們將知道它是在函數裏面 –

+0

不,它不會看到在函數內部回顯..... :( –

+0

@DavidAllen如何將$ single_template傳遞給你的方法? ?;) – swapnesh

回答

0

最後做到了....

我重新下載WordPress和我的代碼更改爲下面...

gobal $ post似乎沒有設置任何東西,所以我用$ wp_query代替。感謝CroiOS指出了這一點。

也感謝CMF指出我正確的方向與我的安裝在文字新聞問題上。我通過SSH安裝WP,所以我想知道如果我下載了一個每晚構建或類似的東西..

function da_custom_post_type_template($template) { 
    global $wp_query; 
    if ($wp_query->post->post_type == 'include') { 
     $template = PLUGIN_PATH . '/template/custom_template.php'; 
    } 
    return $template ; 
} 
add_filter("archive_template", "da_custom_post_type_template") ; 

而且由於某種原因它作爲archive_template :)

+0

再次感謝我真的不想我會想出這件事... –

1

將這個進入的single.php:

<?php 
     global $wp_query; 

     $post = $wp_query->post; 
     $post_type = get_query_var('post_type'); 

     if($post_type == 'include'){ 
     include(TEMPLATEPATH.'/my_post_template.php'); 
     }else{ 
     include(TEMPLATEPATH.'/default_post_template.php'); 
     }#end else 

?> 
+0

即時製作一個插件,所以我不能做到這一點 –

1

,您仍然可以過濾一個模板,其實。它仍然存在於wp-includes/template.php

我看不出你的功能沒有錯。你確定模板文件存在嗎?

編輯:

試試這個:

function da_custom_post_type_template($template) { 
    global $post; 

    if ($post->post_type == 'include') { 
     $template = dirnamr(__FILE__) . '/template/custom_template.php'; 
    } 
    return locate_template($template); 
} 
add_filter("single_template", "da_custom_post_type_template") ; 
+0

我沒有在我的wp-includes文件夾中的template.php –

+0

我已經下載了wordpress,現在有一個template.php –