【发布时间】:2021-06-16 21:02:25
【问题描述】:
我在标签中有一个过滤器。我使用汽车主题。过滤器必须使用应用选项在主过滤器的页面上重定向。它重定向和选项应用在列表中,但链接没有改变(应该是这样的:site.com/?page_id=16410&make=citroen&ca-year=2012&min_price=2000&max_price=200000)但就像这样:site.com/?page_id=16410(主过滤器页面)。在这张图片上,我选择了雪佛兰汽车,但它不适用:Chevrolet
如果我再选择一个选项,它将应用所有选项,但我希望它能够从选项卡中正常工作。
表格代码:
<form action="<?php echo esc_url( stm_get_listing_archive_link() ); ?>" method="post">
<?php foreach ( $tax_query_args as $taxonomy_term_key => $taxonomy_term ): ?>
<?php //empty($taxonomy_term[0]->numeric) and ?>
<?php if ( !empty( $taxonomy_term[0] ) ): ?>
<div class="col-md-<?php echo esc_attr( $filter_columns_number ); ?> col-sm-6">
<div class="form-group">
<select name="<?php echo ( esc_attr( $taxonomy_term_key ) == "price" ) ? "max_price" : esc_attr( $taxonomy_term_key ) ?>" class="form-control">
<option value=""><?php printf( esc_html__( 'Select %s', 'motors' ), stm_get_name_by_slug( $taxonomy_term_key ) ); ?></option>
<?php foreach ( $taxonomy_term as $attr_key => $attr ): ?>
<option value="<?php echo esc_attr( $attr->slug ); ?>"
<?php if ( $attr->count == 0 && !$taxonomy_term[0]->numeric ) {
echo 'disabled="disabled"';
} ?>
data-disabled="<?php echo ( esc_attr( $attr->count ) == 0 && !$taxonomy_term[0]->numeric ) ? 'disabled' : "null" ?>">
<?php echo ( esc_attr( $taxonomy_term_key ) == "price" ) ? stm_listing_price_view( $attr->name ) : esc_attr( $attr->name ); ?>
</option>
<?php endforeach; ?>
</select>
</div>
</div>
<?php endif; ?>
<?php endforeach; ?>
<div class="col-md-3 col-sm-6">
<div class="row">
<div class="col-md-8 col-sm-12">
<button type="submit" class="button icon-button">
<i class="stm-icon-search"></i><?php esc_html_e( 'Search', 'motors' ); ?>
</button>
</div>
<div class="col-md-4 hidden-sm hidden-xs">
<a href="" class="reset-all reset-styled"
title="<?php esc_html_e( 'Reset search fields', 'motors' ); ?>">
<i class="stm-icon-reset"></i>
</a>
</div>
</div>
</div>
</form>
【问题讨论】:
-
当您提交此内容时,您是否已经在页面
/?page_id=16410上?听起来表单可能实际上并没有提交,但是有 JavaScript 代码阻止了正常提交,并在后台加载过滤后的数据。 -
不,带有表单的选项卡在默认页面 (site.com) 上,/?page_id=16410 是带有过滤器的目录(该页面在屏幕截图上)
-
如果提交表单只是将您带到
/?page_id=16410,那么当没有实际发送到那里的字段值开始时,我看不到过滤器如何实际应用于目标页面和。您能否使用浏览器开发工具、网络面板检查提交表单时实际触发的请求? -
它有 method="post" 将过滤器的选项发送到 /?page_id=16410。它发送它们但不应用它们
-
你在说什么,你上面的代码包含
method="get"...?
标签: php wordpress forms filter tabs