如何使用URL从自定义分类中获取帖子,以确定显示的是哪个分类术语id?
我试图通过使用get_category_by_path
传递URL时返回false,因为自定义分类法不同。对于分类法,是否有一个等效的函数可以做到这一点?我在谷歌上搜索了一下Wordpress抄本,什么也没找到。
非常感谢
如何使用URL从自定义分类中获取帖子,以确定显示的是哪个分类术语id?
我试图通过使用get_category_by_path
传递URL时返回false,因为自定义分类法不同。对于分类法,是否有一个等效的函数可以做到这一点?我在谷歌上搜索了一下Wordpress抄本,什么也没找到。
非常感谢
所以我对这件事有一些自由,我假设有两件事:
您知道术语所属的分类法,您有术语存档链接,因此如果我有术语存档链接:
$url = \'http://www.example.com/taxonomy/term/\';
我知道url的最后一部分将是术语slug。我可以将slug与分类法结合使用并获取ID,但首先我需要拆分部分:$parts = explode(\'/\', rtrim($url, \'/\')); // rtrim() to remove trailing slash
这会将其拆分为一个漂亮的数组,如下所示:Array (
[0] => http:
[1] =>
[2] => www.example.com
[3] => taxonomy
[4] => term
)
请注意,术语slug是这个数组中的最后一项,这一点很重要,因此我们可以稍后访问它,而不必真正了解索引。接下来,我们可以使用名为get_term_by()
- View Codex, 这将允许我们根据术语slug和该术语所在的分类法提取整个术语。如下所示:
$term = get_term_by(\'slug\', $parts[count($parts)-1], \'tax_articles\');
现在,这将根据我们在URL中找到的slug来提取术语。我正在使用一个插件,它有几个实例,它使用硬编码路径,而不是使用WP函数来查找路径。这里的问题是,它引用的是wp内容,但我已经更改了wp配置文件中的wp\\u content\\u FOLDERNAME设置(过去有这样做的要求)。无论如何,有没有一种方法可以在不更新插件代码库本身的情况下实现这一点(即允许它在将来进行升级)。我想这与扩展插件而不必编辑代码库的整个想法是一致的。