寫教學的最大目的是教會未來的自己

Wordpress教學

wordpress 圖片壓縮工具 tinypng

說實話,因為我自己是有使用JetPack  的圖片CDN 功能

所以之前我都沒有使用類似工具直到我們公司網站的wordpress五年來累積了20G的圖片後

造成我備份上很大的壓力 才開始找方法

tinyPNG 是我目前使用上,壓縮效率最高,也是一種最簡單的方式

因為圖片眾多我是使用tinyPNG 提供的PHP 套件 加上檔案大小分析來處理,只處理超過200KB的圖片 在加上一堆信箱收集來的key來完成

不過如果是一般人 我會建議使用官方外掛就好了,十分方便

Compress JPEG & PNG images

使用教學在下面

https://free.com.tw/tiny-compress-images/

如果平常使用量大 建議只選擇大圖做壓縮就好,或是可以多準備一些key 隨時替換舊好XD

Post to Twitter Post to Plurk Post to Facebook Send Gmail

wordpress必裝的文章編輯器外掛Classic Editor

從wordpress 5.0 開始,就搞了一個全新的文章編輯器

對於從舊版時代就已經開始使用的我來說,真的超級難用,或是說 文章編輯邏輯整個消失

雖然我可以理解成開發者想要使用者百多HTML的束縛,不可諱言的,我還是很習慣看到原始碼著模式,跟 類似word的編輯模式

所以後來發現這個外掛,跟wordpress4.0版本的編輯器相同,看起來就是 當初開發者有兩派人馬,傳統派輸了之後 額外弄成外掛讓使用者選擇了XD

Classic Editor (傳統編輯器)

Post to Twitter Post to Plurk Post to Facebook Send Gmail

我的網站伺服器確定掛了….

最近我的server出現了一些狀況

整個死機了,經過搶救之後網站算是復原了,server雖然戰時開得起來,但HDD 跟 RAM都有故障

所以我就不維修了

 

目前網站放在另一台主機上,改天再看看怎麼辦好了

 

另外

異機 備分要定期執行阿

Post to Twitter Post to Plurk Post to Facebook Send Gmail

關於PHP7升級這檔事,一個商業網站升級的經驗談

幾個月前,我幫我們公司網站,進行了一次系統性升級,其中包括了CentOS、PHP、tomcat、Java,前前後後花了超過三個月的時間, 當然中間還要持續做網站內容的更新維護,這次僅針對PHP的部分進行說明

因為公司網站有點歷史,所以這次升級是從php5.3升級至7.3,一口氣填補了很多前輩在公司挖得坑,這次我就列舉出一些我所知道的狀況,我的作法是無痛轉移,所以事先把網站內容改進程前後版本都通用後,才用臨時server做切換

1. E_DEPRECATED 是最基本的,他會告訴你使用到的函示庫中那些是即將失效的,看著LOG把所有的code改過一輪吧,這是最簡單,但又是最耗時的,為了解決mysql被廢棄的問題,我整合了網站中所有相關功能成一個class,最後在一次性改成mysqli

2.語法規則更加嚴格了,因為我一次跨多個版本更新,這部分我是在PHP7 的測試機台中,人肉把所有頁面檢查過一遍,確認沒有問題,這部份十分麻煩,因為有時候功能故障,網頁卻能正常顯示,主要的變更有array 跟 字串之間無法自由切換,function 輸入的變數如果不固定一定要給預設值,不再會有預設的false了,這部分算是強制改正工程師們的寫作習慣

3.global regester 根本是個恐怖的坑,因為這個我們卡在PHP5.3 很久了,為了清理這個問題真的是一把鼻涕一把淚,毫無快速搜尋的方法OTZ

4.老的wordpress 版本升級也很恐怖…..不提了….

網站就算經過三組人馬 花了一個多月的時間做最後檢查,網站上線後,還是會發現一些細微的功能出現異常…..

Post to Twitter Post to Plurk Post to Facebook Send Gmail

HTTP轉HTTPS的血與淚,funtime https 轉換記

最近替我們公司網站 從http 轉換成https

這真的事血與淚的故事阿

 

https 的架設流程很簡單,基本上市已下幾個步驟

 

1.購買憑證,這部份我們公司是買全網域都可以用的

2.server 設定

我們是使用nginx  首先 把原先的server 設定加上 憑證,憑證包含一個key 跟一個 crt,crt應該就是憑證,key 是我們自己生成的私鑰

有些廠商不是給crt 而是給pem 不過差不多,另外 還有鎖有上游的憑證,這部分就通通放報crt 後面就OK了

另外 各人建議 把 80 port的網業透過301 通通轉址到 443 port的 https

3.網頁修正

這才是最令人頭大的地方

因為我們公司網站有放大量的外部廠商iframe 或是 js,另外因為歷史遺留問題

許多地方式使用絕對路徑,這在轉換的過程中 出現很多問題

因為在https的網頁中,大多數的瀏覽器會預設不讀取 http的 CSS /JS / iframe,這會導至網站一堆地方出問題

雖然有下列者種語法可以快速解決(功能是強制升級)

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
但還是有一些問題
1.IE 系列不之源
2.舊版safari不支援
3.如果廠商的憑證有問題,還是無法解決

說了那麼多 只是想要說
已後寫code多注意阿
最好不要用絕對路徑
http:// 最好改成 //,這樣系統會自動判定

Post to Twitter Post to Plurk Post to Facebook Send Gmail

網站平移備份

最近在做網站的測試,所以開了 台測試server,要把網站的資料複製到測試server

本來我都是 先把MYSQL 匯出、FTP 下載所有檔案

 

最近我學到新的快速方法

參考資料 http://jashliao.pixnet.net/blog/post/164556993-%E6%AF%8F%E5%A4%A9%E4%B8%80%E5%80%8Blinux%E6%8C%87%E4%BB%A4–scp%E6%8C%87%E4%BB%A4%28%E9%81%A0%E7%AB%AF%E6%AA%94%E6%A1%88%E5%8A%A0%E5%AF%86%E6%8B%B7%E8%B2%9D-

 

1. 檔案水平轉移法

scp -r /home/XXX/public_html/* XXX@IP:/home/XXX/public_html

用法和 cp 相同 -r : 轉移資料夾

從本地 複製到 遠端特定IP 的特定資料夾

倒過來寫也OK 可以從遠端抓資料過來

 

2.MYSQL 水平備份

mysqldump -u [SOURCE_userid] -h [SOURCE_IP] -e -q –password=[SOURCE_PASSWORD] SOURCE_db_Name | mysql -u [DISTANCE_userid] –password=[DISTANCE_PASSWORD] -h [DISTANCE_IP] DISTANCE_db_Name

 

這是直接把DB dump出來後直接匯入到 另一台DB 中,不過要特別注意 如果資料庫太大 超過連線時間 會直接炸開喔

Post to Twitter Post to Plurk Post to Facebook Send Gmail

解決 wp-postview 計數失敗的問題

這個問題主要是因為 修改過 wordpress 核心所產生的…..

 

目前WP-postview 有兩種計數模式,一種是 透過PHP的方式 計數,另一種則是為了解決 快取功能 的ajax的技術方式。

這次碰到的問題就主要是ajax的問題。

 

發生原因:

在wp-postview外掛中,主要的code都在wp-postview.php當中,其中要wordpress 載入ajax指令的是下面這支function

function wp_postview_cache_count_enqueue()

的下面兩行指令(我有些參數修改了…)

wp_enqueue_script( ‘wp-postviews-cache’, $tempJS, array( ‘jquery’ ), ‘1.68’ , true );

wp_localize_script( ‘wp-postviews-cache’, ‘viewsCacheL10n’, array( ‘admin_ajax_url’ => $tempJS2, ‘post_id’ => intval( $post->ID ) ) );

 先簡單說明一下,這兩行的API都是 wordpress的載入js的指令,在執行過後會通知wordrpress 在載入頁面的時候載把js引入到網頁中,這中常在wp_header();或是wp_footer();中執行,所以theme中的這兩行指令絕對不要拿掉….

 

OK經過測試,上面這兩行指令有正常執行,經過測試主要是因為wordpress的jquery 載入設定被改掉了…

剛剛我說,wordpress 會依照你的要求 引入你要的JS,但是在這之前他會要你先寫下你的js有需要那些前置JS,而我們所需要的jquery雖然有載入,但是不是用wordpress 官方的載入方式,導致wordpress 以為缺少前置JS 而不予載入

 

解決方法,在下列檔案中

\wp-includes\script-loader.php

 有下列三行code,請確定他都有在跑…..

// jQuery

$scripts->add( ‘jquery’, false, array( ‘jquery-core’, ‘jquery-migrate’ ), ‘1.10.2’ );

$scripts->add( ‘jquery-core’, ‘/wp-includes/js/jquery/jquery.js’, array(), ‘1.10.2’ );

$scripts->add( ‘jquery-migrate’, “/wp-includes/js/jquery/jquery-migrate$suffix.js”, array(), ‘1.2.1’ );

就是這樣….

 

 

參考資料

http://yusi123.com/3086.html

http://codex.wordpress.org/Function_Reference

Post to Twitter Post to Plurk Post to Facebook Send Gmail

CSS div 置中作法

參考資料

http://www.flycan.com/article/css/css-div-position-center-1562.html

 

 

通常利用CSS 對div 方塊排版的時候,常常會使用left : 50% 這類排版方式

但是這有個很大問題 他是依照方塊的 左上角當作基準點,所以 無法做照真正的置中(或是其他比例)

解決方法是利用 margin

 

使用 margin-left : -[div一半寬度]px

就可以解決了

垂直部分也可以這樣解

Post to Twitter Post to Plurk Post to Facebook Send Gmail

好用的線上中文字型jestfont

最近我的網站更換了字型

我使用了justfont的線上中文字型服務(想玩英文字型 可以去找google fonts),價格也不貴,一年大概三百

 

中文字型最麻煩的地方在餘字型檔很大,無法包在網頁中,讓使用者下載,因此很多中文網站要碼先把文字做成圖片,不然就是選擇大家都有的系統內鍵字型

剛好在網路上找到這家公司

他使用js技術,並且依照你網頁所使用道的文字,只把這些文字傳送給使用者,可以有效減少下載時間

 

他的教學 http://www.justfont.com/cheats

如果想要整個網站都更換自己最快方式是,先去掉之前CSS中所有字型設定,然後在justfont設CSS 標簽用body 一次解決XD

 

 

 

 

 

 

官方網站:http://www.justfont.com/

 

Post to Twitter Post to Plurk Post to Facebook Send Gmail

yahoo 部落格轉wordpress 教學

參考資料

㊣硬闖WP-5:如何從「無名小站」部落格搬家、轉換到WordPress?

㊣硬闖WP-6:如何將「無名小站」的相簿圖片搬家、備份到免費圖床空間?

 

如果單純 無名轉 wordpress我想應該原理差不多,請自己測試

 

因為我手上有圖片的部落格只有yahoo 部落格,沒有無名

不過我發現現在這兩邊的備份其實都滿方便的

這是我下載下來的部落格備份

blog1解壓縮出來的檔案

blog2把這些資料夾上傳到wp-content中

並把其中 tw-blog_日期_movable-type.txt 這個檔案改名成mt-export.txt

 

閱讀全文

Post to Twitter Post to Plurk Post to Facebook Send Gmail

Copyright © 2021. All Rights Reserved.

歡迎光臨
初音