基本上,我有一个存储了类别 slug 的 cookie,使用这些数据我想查询数据库并返回类别的 ID。
我是 mysql 新手,这似乎是一个可能需要使用连接的高级查询,任何帮助或指导将不胜感激。
谢谢!
基本上,我有一个存储了类别 slug 的 cookie,使用这些数据我想查询数据库并返回类别的 ID。
我是 mysql 新手,这似乎是一个可能需要使用连接的高级查询,任何帮助或指导将不胜感激。
谢谢!
查看get_category_by_slug页面上的示例:
<?php
$idObj = get_category_by_slug('slug');
$id = $idObj->term_id;
?>
更重要的是,如果您已经存储了 slug,为什么不将 id 连同它一起存储,以避免每次都需要查询 ID?
编辑:根据您的评论,您可能最容易将以下内容添加到任何 WordPress 页面:
define('SAVEQUERIES', true);
global $wpdb;
print_r($wpdb->queries);
然后运行这篇文章的原始代码。这将使您能够查看 WordPress 为获取类别和相关数据而执行的查询,您可以复制它们并在代码中使用它们。
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 连接。
好吧,名称和 slug 存储在同一张表上,所以应该这样做(仅 mysql,不涉及 WP Query):
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