我正在使用以下代码从我的页面模板中使用term_taxonomy_id
我从 URL 末尾检索的内容对我的数据库进行查询。
当使用这个模板时,我的 URL 看起来像这样,http://mysite.com/county/18
在这种情况下 18 是term_taxonomy_id
我的代码如下:
<?php
/*
Template Name: County
*/
$ex = explode("/",$_SERVER['REQUEST_URI']);
//print_r($ex);
get_header();
// Global query variable
global $woo_options;
global $wp_query;
global $wpdb;
$all_terms = $wpdb->get_results("SELECT * FROM wp_term_taxonomy,wp_terms WHERE wp_term_taxonomy.parent='{$ex[2]}' AND wp_term_taxonomy.term_id=wp_terms.term_id ORDER BY wp_terms.name");
//echo "SELECT name FROM wp_terms WHERE term_id='{$ex[2]}'";
$taxName = $wpdb->get_results("SELECT name FROM wp_terms WHERE term_id='{$ex[2]}'");
foreach ( $taxName as $tx ) {
$nameTaxnaomy = $tx->name;
}
$getPostID = $wpdb->get_results("SELECT object_id FROM wp_term_relationships WHERE term_taxonomy_id='{$ex[2]}'");
foreach ( $getPostID as $tx1 ) {
$post = $tx1->object_id;
}
?>
问题: 但是,我需要更改我的 URL 结构以使用 URL 末尾的 term_name 而不是上面的 taxonomy_id。
所以现在我的网址看起来像这样http://mysite.com/county/London
当我这样做时,数据库查询不起作用,因为它正在爆炸 URL 以获取最后的 taxonomy_id(在我上面的示例中为 18),然后使用该字符串查询数据库。
实际问题:有没有办法term_taxonomy_id
从术语名称中获取,以便我可以在我的数据库查询中使用它?
我在想类似的东西
//explode the url to get the term name
$dx = explode("/",$_SERVER['REQUEST_URI']);
//now get the id from the term name
$ex = //get the term_taxonomy_id from $dx
任何帮助表示赞赏
干杯
更新- 通过下面的一些提示,我使字符串看起来像这样。我的分类名称叫做location
//define $ex byt ge_term_by
$ex = get_term_by('slug',explode("/",$_SERVER['REQUEST_URI']),'location');
当我回声时,$ex
我什么也没得到,所以还是有问题:(