之前看到有些網站的廣告輸出很特別,就是在文中顯示廣告,我說的不是上下、左右角之類的顯示方法。要看效果,大家可以看 BlueFate 的部落格文章中顯示的廣告。因為我不是搞程式的,不過還是瞭解一點 php,所以研究了老半天才寫出來一個在文中輸出廣告的程式碼:
<?php
//輸出文章內容,當有遇到第一個</p> 的時候,顯示廣告
$form = 0;
$contents = get_the_content();
$lenght = stripos($contents,"</p>");//以</p> 來分割字元竄,並以數字形式返回所在的位置
$lenght = $lenght + '4';//加上</p> 站的字元數
$contents1 = substr($contents,$form,$lenght);//擷取文章
$contents2 = substr($contents,$lenght);
if (get_option('swt_adt') == 'Hide' || strlen($contents)<=$lenght || $lenght <20) { //輸出廣告
the_content('');
}
else {
echo $contents1;//輸出內容的前半部分
include(TEMPLATEPATH . '/includes/adwz.php');
echo $contents2;//輸出內容的後半部分
}
?>
儲存以上的程式碼為 contents.php,路徑在模板的資料夾 includes/contents.php,在文章頁 single.php 輸出文章的時候用替換原來的 <?php the_content(''); ?> 。這裡對程式碼稍作解釋,首先用 get_the_content() 函式獲取到文章內容,然用 stripos() 函式返回指定字串 「</p>」 的位置,接著再用 substr() 函式將內容擷取為兩部分; 最後透過判斷來顯示廣告,如果標籤</p> 不存在或者廣告隱藏了就直接輸出原文章,否則輸出文章前段+廣告+文章後半部分。大家也可以用判斷字串的數量來顯示廣告。