通过表单传递值以创建查询

时间:2012-06-10 作者:rec

我有这样的结构:

taxonomy
    - term1
    -- child term1
    -- child term2

    -term2
    -- child term1
    -- child term2
我有两个选择框。第一个显示父项(term1和term2),第二个显示所选父项的子项。

我将表单提交到“search results.php”。如何获取两个选择的值来创建此类查询?

$args = array(
   \'tax_query\' => array(                        
       array(
          \'taxonomy\' => \'state\',
          \'field\' => \'slug\',
          \'terms\' => array( term1, childTerm2 ),
          \'operator\' => \'IN\'
       )
    )
);
谢谢。

1 个回复
SO网友:moraleida

这完全取决于你是如何尝试的。在筛选结果时,我通常将表单设置为使用$\\u GET,并在页面再次加载时筛选结果:

if (isset($_GET[\'term\'])) {
    $term = $_GET[\'term\'];
} else {
    $term = \'defaultTerm\';
}

if (isset($_GET[\'childterm\'])) {
    $childterm = $_GET[\'childterm\'];
} else {
    $childterm = \'defaultChild\';
}

$args = array(
   \'tax_query\' => array(                        
       array(
          \'taxonomy\' => \'state\',
          \'field\' => \'slug\',
          \'terms\' => array( $term, $childterm ),
          \'operator\' => \'IN\'
       )
    )
);

结束

相关推荐

WP_QUERY泄漏的内存量高得离谱

每次我在下面的函数中调用WP\\u Query(),Wordpress都会泄漏8兆内存。因为我经常调用这个函数,所以事情很快就变得复杂了…:(我尝试过取消生成的$queryObject的设置,并定期调用wp\\u cache\\u flush(),但这两种方法似乎都没有任何效果。有什么想法吗?function get_post_ids_in_taxonomies($taxonomies, &$terms=array()) { $post_ids = array(); &#x