基本上,我有一個類別slug存儲的cookie,使用這個數據我想查詢數據庫並返回類別的ID。WordPress的:使用類別slu get獲取類別ID使用mysql查詢
我是mysql新手,這看起來像一個高級查詢,可能需要使用連接,任何幫助或指導將不勝感激。
謝謝!
參考: http://codex.wordpress.org/File:WP3.0-ERD.png
基本上,我有一個類別slug存儲的cookie,使用這個數據我想查詢數據庫並返回類別的ID。WordPress的:使用類別slu get獲取類別ID使用mysql查詢
我是mysql新手,這看起來像一個高級查詢,可能需要使用連接,任何幫助或指導將不勝感激。
謝謝!
參考: http://codex.wordpress.org/File:WP3.0-ERD.png
SELECT wp_term_taxonomy.term_taxonomy_id
FROM wp_terms
JOIN wp_term_taxonomy USING (term_id)
WHERE wp_term_taxonomy.taxonomy = 'category'
AND wp_terms.slug = ?
瞭解SQL joins。
退房爲get_category_by_slug頁面上的例子:
<?php
$idObj = get_category_by_slug('slug');
$id = $idObj->term_id;
?>
更重要的是,如果你已經有了存儲蛞蝓,爲什麼不只是存儲的ID在與它一起爲了避免每次都必須查詢ID?
編輯:基於您的評論,它很可能是最容易爲你添加以下到任何WordPress的頁面:
define('SAVEQUERIES', true);
global $wpdb;
print_r($wpdb->queries);
,然後再從這個帖子的原代碼。這將使您能夠看到WordPress爲了獲取類別和相關數據而執行的查詢,並且您可以複製它們並在代碼中使用它們。
它需要用mysql來完成,因爲這是一個文件與wordpress分開,除非你有辦法解決這個問題?而由於成立,我沒有能力。 –
看看我上面的編輯,這應該可以幫助你找到你想要做的。 – chrisn
嗯,名字和蛞蝓都存儲在同一個表,所以這樣的事情應該這樣做(只MySQL的,沒有WP查詢參與):
SELECT term_id as id FROM wp_terms WHERE slug = 'slug-here';
不是那個不行,我也輸出了整個表看看,並且類別沒有列出? –
可以使用WordPress的原生功能get_term_by
例如:
$term = get_term_by('slug',$SLUG_FROM_COOKIE,'category');
現在$term
是一個長期目標,所以你可以使用$term->ID
非常感謝你! –