專注CJ聯盟
不止CJ聯盟

DUX 1.8主題代碼優化:實現文章首圖作為文章縮略圖

本博客使用的為DUX 1.8主題,盡管在之前有好友給了1.9和2.0版本,但均存在或多或少的問題。而我手上的1.8版本則在各方面功能上未發現任何缺失。1.8主題我上傳在CJ操作交流QQ群了,

1.9版本在1.8基礎上做了一個更新:新增自動獲取文章第一張圖作為縮略圖。

而1.8以前的版本,則需要手動設置特色圖像,或者用外鏈作為縮略圖,如果均無設定,則用主題文件夾里的默認圖片。

我還是比較偷懶的,能自動調用文章內圖片作為縮略圖,比較簡單方便。因此,我在1.8版本上優化了下代碼,實現了這個功能。主要是修改主題配置文件functions-theme.php這個文件里的_get_post_thumbnail函數來實現的,下面分享一下代碼:

????function _get_post_thumbnail($size = 'thumbnail', $class = 'thumb') {
????????global $post;
????????$html = '';
????????if (has_post_thumbnail()) {
????????????$domsxe = get_the_post_thumbnail();
????????????preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $domsxe, $strResult, PREG_PATTERN_ORDER);
????????????$images = $strResult[1];
????????????foreach($images as $src){
????????????????$html = sprintf('<img data-src="%s" class="thumb">', $src);
????????????????break;
????????????}
????????}else {
????????????$post_thumbnail_src = '';
????????????ob_start();
????????ob_end_clean();
????????$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
????????$post_thumbnail_src = $matches [1] [0];?? //獲取該圖片 src
????????if(empty($post_thumbnail_src)){
????????????$random = mt_rand(1, 10);
????????????$post_thumbnail_src = get_bloginfo('template_url').'/img/pic/'.$random.'.jpg';?//隨機選取/dux/img/pic/*.jpg作為縮略圖
????????????}
????????????$html = sprintf('<img data-src="%s" class="thumb">', $post_thumbnail_src);
????????}
????????return $html;
????}

 

上面是隨機選取文件夾里的1-10的圖片作為無圖片時的縮略圖。如果你希望,無圖片時固定使用某一張圖片作為縮略圖,那么用下面這段代碼:

????function _get_post_thumbnail($size = 'thumbnail', $class = 'thumb') {
????????global $post;
????????$html = '';
????????if (has_post_thumbnail()) {
????????????$domsxe = get_the_post_thumbnail();
????????????preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $domsxe, $strResult, PREG_PATTERN_ORDER);
????????????$images = $strResult[1];
????????????foreach($images as $src){
????????????????$html = sprintf('<img data-src="%s" class="thumb">', $src);
????????????????break;
????????????}
????????}else {
????????????$post_thumbnail_src = '';
????????????ob_start();
????????ob_end_clean();
????????$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
????????$post_thumbnail_src = $matches [1] [0];?? //獲取該圖片 src? ? ?if(empty($post_thumbnail_src)){
$post_thumbnail_src = get_bloginfo(‘template_url’).’/img/thumbnail.png’;?//使用/dux/img/thumbnail.png作為默認縮略圖(自己做張圖片上傳)
}
$html = sprintf(”, $post_thumbnail_src);
}return $html;

}

 

贊(0)
未經允許不得轉載:賺刀博客 » DUX 1.8主題代碼優化:實現文章首圖作為文章縮略圖

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

賺刀博客——專注CJ聯盟,不止CJ聯盟

聯系小龍蝦CJ聯盟交流群
516金蟾捕鱼下载 网上炒股平台 意甲关系球队 皇家娱乐棋牌游戏 在家做网上兼职工作 山西大唐麻将扣点点 金蟾捕鱼版本购买 汉游天下棋牌游戏官 …? 股票行情论坛 能赚钱的网游 送体验金的棋牌游戏?