[WordPress] 在單一站台架設多個網誌 (WordPress Multi-Site)

開啟 WordPress 主目錄下的 wp-config.php,並把WP_ALLOW_MULTISITE註解去掉並將值改為true,以啟用WPMU (3.7.1版約在106行)

define('WP_ALLOW_MULTISITE', true);

重新整理網頁,於後台左側選單點選工具->網誌網路安裝,檢查沒問題後,點選安裝

下一個畫面會提示把一些設定複製到 wp-config.php 與 .htaccess 裡,特別注意到wp-config.php的設定要貼在define(‘ABSPATH’)之前

完成動作後並儲存,重新整理畫面後左上角我的網誌裡面有出現網誌網路管理,收工。

[Linux] 用 ln 建立檔案或目錄連結

使用方式為 ln [-hs] <來源> <目標>

EX: 在 /var/www 下建立一個名為 wpmu 的 Synbolic Link,來源端為 /home/wordpress

ln -s /home/wordpress /var/www/wpmu

 

這裡只說明參數 -h-s 的差異,詳細請見 官方文件

 

-h 為 Hard Link,讀取方式為一層一層取得檔案相關的關聯資料,再到對應的 inode 取得檔案的屬性,以及檔案內容資料所在的 block , 最後到 block area 取得檔案的資料。

不管在哪個目錄底下叫出檔案並修改,因為 Hard Link 只是在目錄下建立一個檔案關聯紀錄,因此修改檔案時皆會修改到同一個檔案,而刪除檔案時只是刪除一個檔案關聯紀錄,並不是刪除檔案本身,因此不會變動到檔案本身的 inode 與 block area,好處為較安全。

由於 Hard Link 是在同一個 partition 上建立檔案關聯,因此 Hard Link 有兩項限制:

  1. 不能跨 File System
  2. 不能對目錄做 link

 

 

而參數 -s 為 Synbolic Link,這就好理解多了,Synbolic Link 會建立一個新檔案,指向 link 到的檔案或目錄,所以原檔案或目錄被砍掉時,這個 link 就會失效。而因為 link 的建立方式是建立新檔案,因此會有獨立的 inode 與 block 佔用磁碟空間 (建立及運作方式雷同 Windows 的捷徑)。


Reference:宅男的電腦筆記

[WordPress] 解決不支援utf-8環境下中文檔名異常問題

修改 wp-admin/includes/file.php

// 找到這行程式碼(約在306行),並加入iconv
$new_file = $uploads['path'] . "/$filename";
$new_file = iconv('utf-8', 'big5//ignore', $new_file);
// 把這行註解掉(約在322行),以下列程式碼取代
// return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' );
return apply_filters( 'wp_handle_upload', array( 'file' => $uploads['path']."/$filename", 'url' => $url, 'type' => $type ), 'upload' );

 

修改 wp-admin/includes/media.php

// 把這行註解掉(約在2334行),以下列程式碼取代
// $filename = esc_html( basename( $post->guid ) );
$filename = substr($post->guid, strrpos($post->guid,'/')+1);

 

存檔後即生效

 

參考自 http://www.xyduan.net/

[WordPress] qTranslate enable at WordPress 3.7.1

最近WordPress更新了3.7.1
更新後發現qTranslate出現版本不相融情況
要使用plugin的功能要手動去啟用
不過預設還是disable
外掛作者也還沒更新對應3.7.1的版本
懶得每次發文要點一次enable
索性直接先改支援版本

define('QT_SUPPORTED_WP_VERSION', '3.7.1');

利用這種方式強制enable也沒有發生衝突
在作者release新版本前就先暫時這樣頂替吧

[Ubuntu] 於指令列顯示 screen 的視窗編號

編輯 ~/.bashrc 這支檔案,並看到這一段(約在56~60行)

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

 

這段是判斷有無開啟彩色 Terminal 顯示模式

第二行為預設的顯示設定,顯示的樣子大概像這樣

 

要顯示視窗則改成下列內容

if [ "$color_prompt" = yes ]; then
if [ "$WINDOW" = "" ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;35m\][W$WINDOW]\[\033[00m\]\$ '
fi
else

 

在彩色 Terminal 顯示模式裡面再加一個判斷 GNU Screen 是否啟用,沒有的話顯示預設樣式,有的話則顯示成有加入視窗編號的樣式

簡單說明一下 PS1 修改的內容區分為兩部分

\[\033[01;35m\] 這段是宣告文字顏色(這裡用亮紫色當示範)

[W$WINDOW] 圖片中顯示 [W6]$WINDOW 這個變數是視窗編號

 

修改儲存後輸入 screen 指令開新視窗後顯示的樣子就像這樣

 

完成收工!