折騰Tiga主題筆記

近期在ThemeForest網站上看到非常多漂亮的高級主題,但每一個價格不菲,基本上都要30美金以上。反觀國內的那一些主題設計,覺得在設計理念與標準上,還是相對滯後。ThemeForest上的高級主題基本上都會擁有以下功能:

主題設置選項、自適應、多樣式排版、XHTML5標準、瀏覽器兼容、微數據、文章類型、支持特色圖片功能、燈箱展示、前端提交、工具提示、鍵盤導航、幻光展示、社會化媒體、麵包屑導航、圖片縮放等等。

不是說國內主題設計沒有這些,而是在ThemeForest上的高級主題除了本身支持一些功能後,還有很多功能只需要在後台主題管理選項上做適應設置既可,無需修改代碼。當然,有時你會覺得一個簡單的博客主題需要這麼多功能嗎?有好過沒有嘛。

如歸正題,本人主要內容是本人使用Tiga主題修改筆記。

1、Tiga Theme options部份

Tiga Theme Options.01

Tiga Theme Options.02

Tiga Theme Options.03

2、Tiga: 模板函數 (functions.php)

相應代碼功能詳見代碼標釋內容:

/** WordPress 默認發件Email地址及名稱 **/
function new_from_name($email){
$wp_from_name ='佐仔網絡';
return $wp_from_name;
}

function new_from_email($email) {
$wp_from_email = 'admin@liuyuxuan.com';
return $wp_from_email;
}

add_filter('wp_mail_from_name', 'new_from_name');
add_filter('wp_mail_from', 'new_from_email');
/** 默認發件Email地址及名稱結束 **/

相關文章代碼部份:

//相關文章開始
 $wp_rp=array(
 'limit'=>8, //相關文章數量
 'wp_rp_rss'=>true, //是否在feed 中顯示相關文章
 'wp_no_rp'=>'random',  //無相關文章時的選擇:text 或random(random-隨機文章)
 'wp_rp_date'=>true,  //顯示文章發佈日期
 'wp_rp_comments'=>true,  //顯示文章評論數
 'wp_rp_title_tag'=>'h2',  //選擇相關文章標題標籤(h2 ,h3 ,h4 ,p ,div)
 );
function wp_get_random_posts ($limitclause="") {
 global $wpdb, $post;

 $q = "SELECT ID, post_title, post_content,post_excerpt, post_date, comment_count FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND ID != $post->ID ORDER BY RAND() $limitclause";
 return $wpdb->get_results($q);
}

 function wp_get_related_posts()
 { 
 global $wpdb, $post,$wp_rp;
 $limit =$wp_rp["limit"];
 $wp_rp_title='你可能喜歡的文章:';//相關文章標題
 if(!$post->ID){return;}
 $now = current_time('mysql', 1);
 $tags = wp_get_post_tags($post->ID);

 $taglist = "'" . $tags[0]->term_id. "'";

 $tagcount = count($tags);
 if ($tagcount > 1) {
 for ($i = 1; $i < $tagcount; $i++) {
 $taglist = $taglist . ", '" . $tags[$i]->term_id . "'";
 }
 }

 if ($limit) {
 $limitclause = "LIMIT $limit";
 }   else {
 $limitclause = "LIMIT 10";
 }

 $q = "SELECT p.ID, p.post_title, p.post_content,p.post_excerpt, p.post_date,  p.comment_count, count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE t_t.taxonomy ='post_tag' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND t_r.object_id  = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt < '$now' GROUP BY t_r.object_id ORDER BY cnt DESC, p.post_date_gmt DESC $limitclause;";

 $related_posts = $wpdb->get_results($q);

 $output = "";

//不存在相關日誌則顯示隨機日誌
 if (!$related_posts)
 {
 if($wp_rp['wp_no_rp'] == "text")
 {
 $output  .= '<li>沒有相關文章!</li>';//無相關文章時顯示標題
 }
 else

 {
 if($wp_rp['wp_no_rp'] == "random")
 {
 $wp_no_rp_text= '以下文章也精彩:';//隨機文顯示標題
 $related_posts = wp_get_random_posts($limitclause);
 }  

 $wp_rp_title = $wp_no_rp_text;
 }
 }

 foreach ($related_posts as $related_post )
 {
 $output .= '<li>';
 if($wp_rp['wp_rp_date'])
 {
 $dateformat = get_option('date_format');
 $output .= mysql2date($dateformat, $related_post->post_date) . "  —  ";  //日期和文章標題間隔符,默認是 —
 }
 $output .=  '<a href="'.get_permalink($related_post->ID).'" title="'.wptexturize($related_post->post_title).'">'.wptexturize($related_post->post_title).'</a>';
 if ($wp_rp["wp_rp_comments"])
 {
 $output .=  " (" . $related_post->comment_count . ")";
 }
 $output .=  '</li>';
 }
 $output = '<ul>' . $output . '</ul>';
 $wp_rp_title_tag = $wp_rp["wp_rp_title_tag"];

 if(!$wp_rp_title_tag)
 $wp_rp_title_tag ='h3';
 if($wp_rp_title != '')
 $output =  '<'.$wp_rp_title_tag.' >'.$wp_rp_title .'</'.$wp_rp_title_tag.'>'. $output;
 return $output;
}

 function wp_related_posts_attach($content)
 {
 global $wp_rp;
 if (is_single()||(is_feed() && $wp_rp["wp_rp_rss"]))
 {
 $output = wp_get_related_posts();
 $content = $content.$output;
 }

 return $content;
 }

add_filter('the_content', 'wp_related_posts_attach',100);
//相關文章結束

簡化Header.php頭部代碼部份:

//精簡header.php頭部代碼
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'feed_links');
remove_action('wp_head', 'feed_links_extra');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
remove_action('wp_head', 'wp_generator' );
//精簡header.php頭部代碼結束

//給 Read more 加上 nofollow
function add_nofollow_to_link($link) {
  return str_replace('<a', '<a rel="nofollow"', $link);
}
add_filter('the_content_more_link','add_nofollow_to_link', 0);
//給 Read more 加上 nofollow 結束

分類標籤屬性標準化部份:

//分類標籤屬性標準化
function ispireme_fix_category_tag ($ispireme_cat_output) {
$ispireme_cat_output = str_replace(array('rel="category tag"','rel="category"'),'', $ispireme_cat_output);
return $ispireme_cat_output;
}
add_filter( 'the_category', 'ispireme_fix_category_tag' );
//分類標籤屬性標準化結束

3、Tiga: templates.php (includes/templates.php)

這部份關於發佈時間代碼不標準的修改,原代碼忘記了,現在貼出的代碼為修改過的。

//主題發佈時間修改為
<time class="entry-date updated" datetime="%3$s">%4$s</time>
//評論發佈時間修改為
<time class="entry-date updated" datetime="%2$s">%3$s</time>

4、分頁導航選項

本部份主要是為了實現在手機上顯示不會兩行顯示,只顯示5頁,主要是了整體美觀而已。

Tiga Theme Options.04

5、其它部份: 增加一下文章歸類在文章低部。

Tiga上還有很多功能本人沒有用上,比喻社會化分享,社會化圖標展示、Facebook粉絲展示等。有空看看可不可以把它會部轉成國內的。還有文章底部的一些顯示和文章上端、下端的顯示都沒有使用。這個文章內顯示功能比較適合放廣告。每一篇文章顯示的特色圖片大小為140*130。就這些,沒有其它方面的了。

用電腦、平板、手機顯示都非常不錯。

18 thoughts on “折騰Tiga主題筆記

  1. maie

    還是挺簡潔的,不知道為什麼wordpress的默認主題都是用很大很大的字體和行距,我看到Twenty thirteen那主題更大。

    回復
  2. 佐仔

    Twenty thirteen主題是一款個性主題,並且演示現在只是展示各種文章主題,非純文章的排列。它更多的一個標準,在此基礎上進行演繹和修改將會有很大的發揮。

    回復
    1. 佐仔 文章作者

      是的,字略小,尚可接受,不準備修改CSS放大了,因為該主題的內容框本身都不大,字體放大的話那一行就顯示不了幾個字。

      回復
      1. 勺子

        我的看法是越簡越好。
        另外,手機還沒刷成功啊,關掉殺毒軟件officescan之後,完美刷機可以成功安裝並連結手機了,可是開始ROOT和刷機的時候一直提示USB連結不穩定,不成功。。。。

        回復

發表評論

電子郵件地址不會被公開。 必填項已用*標注