2012-07-12 96 views
0

編者注:這個問題的原標題 - 「基於模板代碼WordPress模板更改」WordPress模板的自定義文章類型

我有一個網頁,讀取變量(單字母)從網址。該頁面將顯示分配給該字母的自定義帖子(該字母是自定義字段)。

問題是分配給該頁面的模板沒有執行頁面的最終呈現。
它包含以下代碼:

<?php 
    $letter = $_GET['letter']; 

    /*If there is no value returned then the loop defaults to searching for items beginning with 'A'*/ 
    if ($letter=="") 
     $letter = 'A'; 

    /* The following <h1> needs to be outside of the loop */ 
?> 
    <h1>Glossary Items Listed Under Letter "<?php echo $letter ?>"</h1> 

<?php 
    $loop = new WP_Query( 
        array( 
         'post_type' => 'glossary', 
         'meta_key'=> 'first-letter', 
         'meta_value' => $letter, 
         'posts_per_page' => 10) 
        ); 
?> 

<?php while ($loop->have_posts()) : $loop->the_post(); ?> 
    <div class="glossarybody"> 
     <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> 
    </div> 
<?php endwhile; ?> 

當該代碼的頁面顯示正確的結果(標題的列表)的頁面上,但使用插件顯示模板我看到頁面正在呈現與page.php
正確的模板應該是glossary-terms.php(我使用的文件名terms.php的情況下,這個詞詞彙嘗試,所涉及的自定義文章類型的名稱,是導致問題)。

如果我刪除上面的代碼,並讓我留下了或多或少的靜態頁面,它有一些HTML,頁眉,頁腳和側邊欄,然後頁面呈現使用了正確的模板。
這表明Wordpress操作中的某些內容會導致模板在初始模板的執行過程中發生變化。

我會很感激的可能是什麼毛病我的設置,以及如何得到正確的模板來渲染頁面的任何指針。

更新:我發現,如果我改變調用鏈接,我可以得到正確的模板來渲染頁面。例如,如果調用鏈接以「.../terms?letter = A」結尾,並且我將其更改爲「..../terms?letter = A /」,則該頁面將使用正確的模板進行呈現。

更新:關於以前的評論。如果我將字段和調用鏈接的內容更改爲指定字母以外的內容(如xya),那麼整個過程將正常工作。所以看起來與這個自定義字段相關的東西會導致設計的模板被忽略。

+0

如果我理解這一點[食品法典文章(http://codex.wordpress.org/Function_Reference/register_post_type)正確,有沒有「頁面模板」自定義文章類型。在發佈「詞彙表」類型時,你有* Template *屬性嗎?快照:http://cl.ly/I2vH – brasofilo 2012-07-13 01:24:41

+0

我的道歉,但我不清楚你的問題。所以,如果這不符合標準,請原諒。模板在頁面編輯器中的頁面屬性中設置,如快照中所示。我的是:http://skit.ch/n1f9在你引用的有關自定義帖子類型的文章中,我沒有發現任何對模板的引用。謝謝。 – dorich 2012-07-13 03:15:47

回答

0

Wordpress的功能沒有問題。

問題的出現是因爲我是用一個插件來顯示正在使用的模板,看來,這個插件是故障。 查看頁面源代碼中的body標籤可以看出正確的模板正在呈現頁面。

相關問題