我正在尝试,但到目前为止,未能将两个表单输入合并到一个post查询中。
我已经将这些表单作为两个单独的表单进行了测试,两个表单都按预期返回结果,现在我正在尝试使它们位于同一个表单中,并且只有一个提交按钮。
这是我的代码:
/* Filter Portfolio Post Results */
function portfoliofilter_filter_function(){
$args = array(
\'orderby\' => \'publish_date\', // we will sort posts by date
\'order\' => \'DESC\' // ASC or DESC
);
// for taxonomies / categories
if( ( isset( $_POST[\'sectorfilter\'] ) ) || ( isset( $_POST[\'categoryfilter\'] ) ) )
$args[\'tax_query\'] = array(
\'relation\' => \'AND\',
array(
\'taxonomy\' => \'category\',
\'field\' => \'id\',
\'terms\' => array( $_POST[\'sectorfilter\'], $_POST[\'categoryfilter\'] )
)
);
$query = new WP_Query( $args );
if( $query->have_posts() ) :
while( $query->have_posts() ): $query->the_post();
简单介绍一下我要实现的目标:
使用isset($\\u POST[\'sectorfilter\')和isset($\\u POST[\'categoryfilter\')的值,这将是类别ID。
在查询中,如果选择了一个选项,则只会缩小一个选项的范围,如果选择了另一个选项,则只会缩小该选项的范围,但如果组合,则结果会进一步缩小为“与”关系,其中结果将分为两类。
SO网友:Jason Is My Name
我需要将类别数组彼此分离,因为这是应用“AND”的地方:
/* Filter Portfolio Post Results */
function portfoliofilter_filter_function(){
$args = array(
\'orderby\' => \'publish_date\', // we will sort posts by date
\'order\' => \'DESC\' // ASC or DESC
);
// for taxonomies / categories
if( ( isset( $_POST[\'sectorfilter\'] ) ) || ( isset( $_POST[\'categoryfilter\'] ) ) )
$args[\'tax_query\'] = array(
\'relation\' => \'AND\',
array(
\'taxonomy\' => \'category\',
\'field\' => \'id\',
\'terms\' => $_POST[\'sectorfilter\']
),
array(
\'taxonomy\' => \'category\',
\'field\' => \'id\',
\'terms\' => $_POST[\'categoryfilter\']
)
);
$query = new WP_Query( $args );
if( $query->have_posts() ) :
while( $query->have_posts() ): $query->the_post();