2010-05-30 83 views
0

$wpdb->options從何而來?

我看不到$wpdb-options()函數或$this->options那麼這是如何實現的?

回答

1

$wpdb->options是對象$wpdb(它是類wpdb的一個實例)的一個屬性。

它的值是數據庫中選項表的名稱,通常爲wp_options

+0

那麼$ wpdb-> options定義在哪裏? – Yikes 2010-05-30 18:30:13

+0

我seee,謝謝:) – Yikes 2010-05-30 21:36:59

+0

你知道它在哪裏定義? – Yikes 2010-05-30 21:37:21

0

「wpdb」是與數據庫交互的類。它在「wp-db.php」中。因爲我不知道你究竟詢問了什麼,link可能對你有所幫助。

+0

葉,但我不明白$ wpdb->選項來自哪裏(選項位) – Yikes 2010-05-30 18:45:26

0

我認爲人們正在努力理解你的問題。也許提供更多的細節或上下文。

如果您詢問選項最初是從哪裏來的,那麼答案是它們是在安裝期間和WP Admin頁面中設置的。然後將它們存儲在數據庫的wp_options表中,並在Wordpress加載時檢索到$ wpdb-> options變量,該變量是$ wpdb對象的成員。

+0

葉,但文件中的$ wpdb-options在哪裏?它在哪裏定義,不是它做了什麼,而是它在哪裏? – Yikes 2010-05-30 18:59:44

+0

哦,你可能不會在所有選項被定義的地方找到一個地方。每個選項都有一個鍵(字符串)和一個值。代碼中的不同位置將向DB查詢與特定鍵相關的值。在「functions.php」中有一個函數「get_option」用於執行此操作。它查詢由$ wpdb-> options指定的表名。請注意,插件也使用wp_options表來存儲內容。 – Greg 2010-05-30 19:07:07

+0

我怎麼能達到同樣的事情? – Yikes 2010-05-30 19:19:54

4

好的,這裏是一個完整澄清的混亂,我可以看到這裏。

$wpdb是查詢數據庫的對象。 $wpdb->options屬性僅僅是數據庫中選項表的名稱。它確實不是存儲也不包含該表的內容。

WordPress的選項(或設置)被存儲,更新,以及使用該函數分別add_option()update_option()get_option()讀取。

您還可以使用get_alloptions()獲得全部選項。

您應該使用$ wpdb屬性來引用SQL查詢中的表的原因是表前綴是用戶定義的,並且您不能認爲它始終被稱爲「wp_tablename」。

1

$wpdb->options通過wp_set_wpdb_vars()wp-includes/load.php中定義。

該行通過調用設置表名的set_prefix功能:

$prefix = $wpdb->set_prefix($table_prefix); 

希望這有助於!