2012-03-11 78 views
0

我正在使用主題框架,並且非常努力地抵制編輯核心文件的誘惑。我想添加帖子格式的功能,但我需要能夠刪除特定帖子格式的某些元素。如何在不修改原始主題文件的情況下更改/刪除此函數的輸出?

  function thesis_teaser_headline($post_count, $post_image) { 
       thesis_hook_before_teaser_headline($post_count); #hook 

       if ($post_image['show'] && $post_image['y'] == 'before-headline') 
        echo $post_image['output']; 

       echo '<h2 class="entry-title"><a href="' . get_permalink() . '" rel="bookmark" title="Permanent link to ' . get_the_title() . '">' . get_the_title() . "</a></h2>\n"; 

       if ($post_image['show'] && $post_image['y'] == 'after-headline') 
        echo $post_image['output']; 

       thesis_hook_after_teaser_headline($post_count); #hook 
      } 

什麼是最有效的方法去除後綴格式,如'鏈接'(例如)的標題數據?這個函數被調用來從主頁循環中爲teasers生成內容。我可以製作一個完整的自定義循環,但它不會與Thesis後端配合使用,從而使其不夠靈活。

謝謝!

回答

0

我對Thesis不熟悉,但我看到它是調用鉤子,所以你可能會把你的一個函數放在這些上,以防萬一你不希望原始thesis_teaser_headline()的任何內容會打開before鉤子上的輸出緩衝(ob_start()),並在after鉤子上清除它(ob_end_clean()$content = ob_get_clean(),如果您想更改其內容,則不會完全替換)。

+0

似乎只有將它直接添加到核心代碼中才有效。使用鉤子來添加它之前和之後,我得到一個錯誤的ob_end_clean參數。這看起來是一個很好的解決方案,但無論是我做錯了還是與鉤子打得都不好。 – Alice 2012-03-11 21:14:35

+0

好吧,顯然你不應該把'ob_ *'直接添加到鉤子,而是你自己的函數來處理鉤子。如有必要,調用ob_start/ob_get_clean。 – Slava 2012-03-12 06:05:03

+0

哈!對不起,我從來沒有使用過ob_ *,也不知道我在做什麼。它確實現在工作完美。在你看來,在某些條件下使用ob_ *來隱藏帖子的標題區域是不好的做法?我仍然可以選擇重寫主題的輸出函數,但是這會額外增加200行代碼。 – Alice 2012-03-12 16:22:19

0

您可以使用/* */控件在註釋中生成該函數。所以它不會被執行。或者把你想要刪除的部分放在它們之間...

+0

評論是我真正想要避免的,因爲這些功能中有大約7-8個組成了傳情內容的「構建」過程,我將在一些後期格式中需要它們,而不是其他一些(即「鏈接」格式不需要張貼圖像或標題,但「圖庫」格式將會)。另外,我正在尋找一些我可以在我爲其他人創建的網站上使用的東西,他們可以升級而不用擔心。希望有另一種解決方案,但總是最終的選擇。 – Alice 2012-03-11 19:45:02

+0

@愛麗絲我明白。但是你能解釋一下你想做什麼嗎? – 2012-03-11 19:52:15

0

怎麼樣用jQuery來調整html?查看帖子類(包裝每個帖子的div上的css類的列表),看看你是否可以從那裏選擇你需要的。最重要的是,我建議避免使用這個框架,當你需要調整它時,它是純粹的噩夢。

相關問題