2013-02-04 50 views
0

我想要寫功能,添加到我的帖子內容<!--nextpage-->標籤,我寫這個函數:WordPress郵寄the_content過濾

<?php 
function output($content) { 
$output = $content.'<!--nextpage-->'.$content; 

return $output; 
} 

add_filter('the_content','output'); 

?> 

功能添加<!--nextpage-->標籤,但這個標籤不工作時,我顯示的帖子,它是像html的評論,也許是解決這個問題的一些解決方案?

也許我必須使用不是the_content而是wp_insert_post_data

+0

你是什麼意思不起作用?它應該做什麼?你是對的,那是一個HTML註釋,所以它不會顯示在你的瀏覽器中。此外,你的代碼很奇怪,基本上你正在做什麼來複制你的文本,並用你的標籤將兩個確切的副本分開... –

+0

它必須添加後期製作,但是標記<! - nextpage - >'存在像html評論一樣 –

回答

1

將文本與<!--nextpage-->轉換爲「頁面」發生在setup_postdata。但是,當調用名稱相同的模板標籤the_content時,您使用的鉤子會執行。所以這意味着你必須在循環開始之前更改內容。這可能有點棘手。關於我的頭頂,我不知道任何合適的鉤子,但你可以檢查setup_postdata的源代碼,可能有一個。在主題,不過,你可以訪問$posts所以,如果你把這個模板,它應該工作:

global $posts; 
array_map(function($apost) { 
    $apost->post_content = $apost->post_content.'<!--nextpage-->'.$apost->post_content; 
    return $apost; 
}, $posts); 

如果您沒有PHP版本=> 5.3則不能使用匿名函數。在這種情況下,這個版本將起作用:

global $posts; 
function output($apost) { 
    $apost->post_content = $apost->post_content.'<!--nextpage-->'.$apost->post_content; 
    return $apost; 
} 
array_map('output', $posts);