替文章圖片 套用 lightcase 功能

2,153次閱讀
尚無留言

共计 1231 个字符,预计需要花费 4 分钟才能阅读完成。

原本的主題並沒有點選圖片即可針對不同裝置放大圖片的功能,為了有更方便的閱讀體驗,上網找到了這個 JS Library 便手動改進去自己的主題中,使用效果還挺好的便分享給有需要的人囉。

  • 將下載回來的 檔案 解壓縮放到主題的資料夾內 總共有 css / js / fonts / scss 四個資料夾直接放入主題中
  • 打開佈景主題內容 找到 header.php 裡面新增下述程式碼
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/lightcase.css">
    <script src="<?php bloginfo('template_directory'); ?>/js/lightcase.js"></script>
    <script type="text/javascript">
        jQuery(document).ready(function($) {$('a[data-rel^=lightcase]').lightcase();});
    </script>
  • 打開 functions.php 裡面新增下述程式碼
    // 自動添加 lightcase 標籤屬性 
    add_filter('the_content', 'lightcase_replace');   
    function lightcase_replace ($content) {   
      global $post;   
      $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";   
      $replacement = '<a$1href=$2$3.$4$5 data-rel="lightcase"$6>$7</a>';   
      $content = preg_replace($pattern, $replacement, $content);   
      return $content;   
    }

關於 data-rel=”lightcase” 這部份其實在 官方文件 有很多詳細的說明,可以設定成 lightcase:myCollection 或其他相關的特效。最後是每次撰寫文章時新增媒體記得要 連結到媒體檔案 這樣才會有效果!因為單純新增媒體只會 <img> 標籤因此 lightcase 無法正常顯示效果。

使用了幾個月的心得,我發現我上傳的圖片其實很大,但是顯示出來的效果都會縮小,原因出在 lightcase.js 檔案中 maxWidth 和 maxHeight 的數值被指定成 800 和 500 將這部份修改成 ‘auto’ 效果會稍微好點,圖片會依照不同的螢幕大小有自適應的功能!但是仍然以螢幕能直接完整觀看整個圖片為主。

正文完
 0
評論(尚無留言)

夜升筆談

夜升筆談
夜升筆談
視寫代碼為信仰,奉高效能為執著,成為大牛不是一蹴可幾,但只要秉持信念終究能成,我依舊在這條路上不斷前進。
最新评论
Yosheng Yosheng 我是买梯子了 只是理解一下原理而已
虚拟信用卡 虚拟信用卡 还是直接买梯子吧,太浪费时间了
spring spring 学习了
cskepper cskepper 非常有用,已经顺利解决
cskepper cskepper 非常有用,已经顺利解决
Yosheng Yosheng 這可能是代理服務器的問題了...
淑淑 淑淑 我在大陸使用了VPN 照著你說的操作 但是出現無法透過代理伺服器連線 我的電腦是W7 也下載了兼容版 用了大概一個星期後今天LINE就無法使用VPN了 這種要怎樣解決
Yosheng Yosheng 如果不能直接撥放建議直接下載回來播放,後面我就沒去折騰為什麼不能線上播放了
SADFISH SADFISH 我无法播放语音是为什么呀楼主
Yosheng Yosheng 微信号 yosheng0323