這個Wordpress技巧可以讓你在文章列表中的任意位置插入一篇或多篇廣告跳轉文章,完美的與主題結構融合,與主題列表的展現形式一模一樣,不用去額外的改變任何結構!而且可以一鍵無痕的將發布的任何文章變成廣告跳轉文章!
實現過程非常簡單,利用了 wordpress 強大的自定義字段。下面直接看代碼實現過程。
首先,打開主題文件 functions.php,粘貼下面的代碼到里面:
- /*如何在 WordPress 文章列表中完美的插入一篇或幾篇廣告跳轉文章*/
- function lxtx_post_link() {
- global $post;
- $thePostID = $post->ID;
- $post_id = get_post($thePostID);
- $title = $post_id->post_title;
- $perm = get_permalink($post_id);
- $post_keys = array(); $post_val = array();
- $post_keys = get_post_custom_keys($thePostID);
- if (!empty($post_keys)) {
- foreach ($post_keys as $pkey) {
- if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') {
- $post_val = get_post_custom_values($pkey);
- }
- }
- if (empty($post_val)) {
- $link = $perm;
- } else {
- $link = $post_val[0];
- }
- } else {
- $link = $perm;
- }
- echo $link;
- }
再把主題中輸出文章固定鏈接地址的函數:the_permalink() 替換為我們上面自定義的這個函數:lxtx_post_link() 即可!
最后,當你要將文章鏈接到博客之外的頁面時,只要在這篇文章中創建自定義字段url1或title_url或url_title ,再輸入外部 URL 地址作為值就可以了。
完成這個操作后,當你發表一篇文章時,系統會查找字段url1或title_url或url_title的值,如果找到,那么就會直接鏈接到外部站點而不是本博客文章;如果沒有找到自定義字段值,就會簡單地顯示鏈接本身。
WordPress列表文章中間加入廣告位
WordPress 的分類頁、Search 頁,Tag 頁等輸出的文章列表時,如果想在中間位置(比如第 5 個文章后面)出現,可以用下面的代碼:
- <?php if ($wp_query->current_post == 4) : ?>
- <div> 廣告代碼 </div>
- <?php endif; ?>
- <?php if ($wp_query->found_posts < 5 and $wp_query->current_post == ($wp_query->found_posts - 1)): ?>
- <div> 廣告代碼 </div>
- <?php endif; ?>
$current_post 屬性,必須用在 Loop 里面,表示當前顯示的文章索引值;它是以 0 為起始值,如果想要在第 5 個文章后面,$wp_query->current_post 等于 4 即可。
$found_posts 屬性,表示按 $wp_query 匹配的文章總數。
上面的代碼只能放在 Loop 里面,比如 <?PHPif(have_posts()):while(have_posts()):the_post();?> 后面,表示廣告代碼將在文章列表的第 5 個文章后面出現,如果列表匹配出來的文章總數不到 5 個,就在列表的最后位置出現廣告代碼。





