WP_QUERY中来自URL的自定义数据的适当流是什么? 时间:2012-05-29 作者:Rarst 我有多个阶段的过程,将复杂的面处理集成到WP查询中。问题是,我对如何工作变得越模糊,我可以使用一个指导方针,而不是独创性(并给自己挖个洞)。一般阶段(伪代码,但接近真实):从URL中检索值(如person=1 )处理值并附加自定义查询指令($relationship_query[] = array(\'relationship\' => \'person_to_cat\', \'object\' => 1 ); )检索最终的自定义查询指令并生成适当的SQL指令a lot 这种情况(关系、分类法、日期)正在发生,而且它变得脆弱(代码的一个角落没有把价值放在代码的另一个角落期望它找到的地方,所有东西都分离了)。这么大的问题是-什么是合适的协议pass, receive, store and process custom data to WP via URL?较小零件:如何确保我不会与WP内部冲突我在哪里以及如何存储中介数据<之间的差异query 和query_vars 属性?它们在代码中的使用似乎几乎相同,但它们往往具有不同的值和方法query_vars 一个 3 个回复 最合适的回答,由SO网友:Fabien Quatravaux 整理而成 我想你要找的WP函数是add_rewrite_tag. 它旨在向URL添加自定义GET参数,并自动将其包含在query_vars.例如,可以将以下内容添加到init挂钩:add_rewrite_tag(\'%person%\',\'([^&]+)\'); 对于url,如http://example.com?person=joe, 全球$wp_query 将会有$wp_query->query_vars[\'person\'] = \'joe\' 您还可以add a rewrite rule 例如,使URL更漂亮http://example.com/person/joeadd_rewrite_rule(\'^person/([^/]*)/?\',\'index.php?person=$matches[1]\',\'top\'); 请参见Rewrite API 有关更多信息和示例。 SO网友:AriePutranto 查看wp includes/class wp。php来检查任何保留的查询变量,我不确定中间数据是什么意思。你能再解释一下吗示例:通过加载带有/?pagename=关于,WP将处理查询字符串,并找到正在使用的query\\u var是page\\u id。另一个例子:/?cat=1,/?category\\u name=未分类和/类别/未分类具有相同的查询\\u var“cat” SO网友:Joshua 我想应该是通过$_GET 和/或$_POST, 然后进行相应的操作。或者,将大量数据存储在db中,然后将id解析为url,如下所示$data_id = $_GET[\'id\']; $data = $wpbd->get_results("SELECT * FROM wp_epic_table WHERE id=".$id); 查询显然不会那么简单,它可能涉及许多连接和连接表。这就是我在我的一个页面中所做的,解析一个唯一的id,然后通过MySQL构建数据。 结束 文章导航