从admin-ajax获取CAT参数

时间:2010-11-08 作者:Matthew Muro

我有一个plugin that restricts the categories 用户可以在管理员中查看/编辑。WordPress 3.0.1中的所有功能都很好,但当我开始测试3.1时,我注意到类别过滤器(AJAX)允许您绕过这些限制。我可以在3.0.1中过滤掉它,因为它是通过URL参数提交的。我的问题是无法从新的AJAX请求中获取“cat”参数。我已尝试测试$\\u服务器[\'HTTP\\u X\\u REQUESTED\\u WITH\'],但它没有注册。

我在wp黑客邮件列表上问过这个问题,但没有人能给我实际的代码来帮助我摆脱困境。

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

为了排除分类法的术语,更好的方法是使用为排除术语而创建的挂钩。。list_terms_exclusions

使用获取可用类别get_terms (get\\u categories调用get\\u terms anyway IIRC),并使用钩子进行排除list_terms_exclusions 您的代码应该按预期工作。。

你可以在1040行看到我指的钩子。http://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php

NOTE: 您的插件在调用时没有清理回调函数register_setting, 如果没有回调函数,您的选项将无法得到正确的清理,我强烈建议您声明一个回调函数,并根据需要清理数据(尤其是在将保存的数据传递到查询中时)。

结束

相关推荐

如何在不编写插件的情况下将AJAX引入主题?

好的,我从wordpress主题中的一些AJAX内容开始1) 我正在根据主题框架构建一个儿童主题2)我的儿童主题有一个标题。php,索引。php,函数。php和样式。css(现阶段)在我的标题中。php我有以下内容(顺便说一句:代码改编自http://codex.wordpress.org/AJAX_in_Plugins):<?php if( !is_admin() ) { add_action(\'wp_ajax_my_special_action\', \'my_act