2012-05-19 46 views

回答

1
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

+0

非常感謝你! –

3

退房爲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爲了獲取類別和相關數據而執行的查詢,並且您可以複製它們並在代碼中使用它們。

+0

它需要用mysql來完成,因爲這是一個文件與wordpress分開,除非你有辦法解決這個問題?而由於成立,我沒有能力。 –

+0

看看我上面的編輯,這應該可以幫助你找到你想要做的。 – chrisn

0

嗯,名字和蛞蝓都存儲在同一個表,所以這樣的事情應該這樣做(只MySQL的,沒有WP查詢參與):

SELECT term_id as id FROM wp_terms WHERE slug = 'slug-here'; 
+0

不是那個不行,我也輸出了整個表看看,並且類別沒有列出? –

0

可以使用WordPress的原生功能get_term_by例如:

$term = get_term_by('slug',$SLUG_FROM_COOKIE,'category'); 

現在$term是一個長期目標,所以你可以使用$term->ID