Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
自從將WorPress開啟多站點模式(multiple site)後,發現進行站點與使用者的管理行為就變得很複雜,當然多站點模式在某些需求下真的很好用,只是得記得它伴隨著管理難度會相對提高一些。這次在撰寫一些小功能時發現site_id在某些判斷上失效了,深入查下去才發現site_id與blog_id的真正意義。
簡單來說blog_id就是子站點的id,在多站點模式下,子站點是用「blog」來稱呼,而整個系統則是用「site」,當然就是用site_id來代表其id。
如果使用以下程式碼
$blog_id = get_current_blog_id(); //取得子站點blog_id
$current_site = get_current_site();
$site_id = $current_site->id;//取得系統site_id
另外如果用get_sites() 取得的所有站點資訊,也會發現這個數值。
Array(
[0] => WP_Site Object(
[blog_id] => 1
[site_id] => 1
[domain] => example.com
[path] => /
[registered] => 2013-11-08 17:56:46
[last_updated] => 2013-11-08 18:57:19
[public] => 1
[archived] => 0
[mature] => 0
[spam] => 0
[deleted] => 0
[lang_id] => 0
)
[1] => WP_Site Object(
[blog_id] => 2
...
)
)
未來要開發多站點模式的功能時,要記得呼叫正確的id囉