WordPress的自定义分类过滤
问题描述:
我想创造一个产品过滤器的工作原理是这样的:WordPress的自定义分类过滤
我已经是到了一个,我在下拉菜单中调用taxonmoies并把它们点。
$prodtype = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'product-types',
'hide_if_empty' => false,
);
$displacement = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'displacement',
'hide_if_empty' => false,
);
<form>
<b><?php _e('Product Type'); ?></b><br/>
<?php wp_dropdown_categories($prodtype); ?>
<br/>
<script type="text/javascript"><!--
var dropdown = document.getElementById("cat");
function onCatChange() {
if (dropdown.options[dropdown.selectedIndex].value > 0) {
location.href = "<?php echo get_option('home');
?>/?cat="+dropdown.options[dropdown.selectedIndex].value;
}
}
dropdown.onchange = onCatChange;
--></script>
<b><?php _e('Displacement'); ?></b><br/>
<?php wp_dropdown_categories($displacement); ?>
<br/>
<script type="text/javascript"><!--
var dropdown = document.getElementById("cat");
function onCatChange() {
if (dropdown.options[dropdown.selectedIndex].value > 0) {
location.href = "<?php echo get_option('home');
?>/?cat="+dropdown.options[dropdown.selectedIndex].value;
}
}
dropdown.onchange = onCatChange;
--></script>
我的问题是,我不能再拿到下拉列表刷新页面,并像他们的例子网站上做自动重新加载的产品。
所以我希望它做的是一旦用户从下拉菜单中选择一个项目刷新并加载符合该标准的项目,然后当他们从第二个下拉列表中选择一个选项我希望产品自动筛选并仅显示符合这两项选择的产品。
任何帮助,将不胜感激。
答
它可以通过使用jQuery来完成。在你上面提到的网站中,他们已经实现了相同的技巧,可以在fucntions文件中找到。
请参阅下面:您可以沿此路径实现某些内容以获得所需结果。
参考编号网站:
e.filterChange = {init: function() { if (!jQuery.browser.mobile) { $("#filter_submit").hide(); $(".filterNote").show(); $("#form_filter .dk_options a").live($.browser.msie || $.browser.safari ? "mousedown" : "click", function (e) { $parent = $(this).closest(".dk_container"); $curValue = $parent.find(".dk_label"); setTimeout(function() { $("#form_filter").submit() }, 500) }) } }};