在分类筛选器中用会话变量值替换占位符术语

时间:2012-01-10 作者:Paul Gregory

我的主题中有一些代码,可以设置会话变量。例如,这是一个地理定位例程,将设置为USA、UK或ROW,导致:

$_SESSION[\'region\'] = \'USA\';
我有一个“regionok”的自定义分类法,其中设置了任何或所有相同的术语。

我希望使用会话变量值作为分类术语进行筛选。

我能想象的最干净的解决方案是在我的函数中有一个过滤器挂钩。php,它将在执行每个查询之前用会话值替换占位符术语“自动区域”。这样,我就可以使用小部件插件而不必对其进行黑客攻击——我只会在配置中使用占位符术语。然而,我不知道相关的挂钩是什么。

(其他用例将是家庭过滤器、推荐人等的会话变量。地理位置示例完全是附带的。)

1 个回复
最合适的回答,由SO网友:prettyboymp 整理而成

如果要将此术语筛选器应用于站点上的所有查询,则需要使用“parse\\u query”操作。此操作将接受WP\\u查询实例作为参数,这将允许您基于$\\u会话变量添加术语过滤器。

结束

相关推荐

one term two taxonomy's?

任何人都可以解决这个问题。。。我正在构建一个应用程序,其中我有两个继承人自定义税种作为自定义类别。所以我有cat1和cat2分类法。我想做的是将一个术语及其子项从cat1复制到cat2。可能类似于:set_term_taxonomy($term_id, array(\"cat1, \"cat2\")); 同一术语及其子术语可能存在于多个分类法中。之所以有两种分类法,是因为它们是两种不同的车间库存。