Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

多站點模式(multiple site)下的WorPress,site_id與blog_id的差異

內容目錄

多站點模式下的WorPress,site_id與blog_id的差異

自從將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囉