【问题标题】:Wordpress php Dropdown Click and GoWordpress php 下拉菜单点击并开始
【发布时间】:2018-01-24 00:30:42
【问题描述】:

我的代码在下拉菜单中列出了我的所有产品类别,但是当我从下拉菜单中选择一个类别时,什么也没有发生:

<?php
$args = array('hide_empty'=> 0,
    'taxonomy'=> 'product_cat','show_option_all'=> '- Search by category...',
    'hierarchical'=>1,'orderby'=> 'name',
    'echo'=>0);

$cats = wp_dropdown_categories($args);
echo $cats;
?>

我怎样才能使当我单击一个类别名称时,它会转到该特定类别页面?

谢谢。

【问题讨论】:

    标签: javascript php html wordpress woocommerce


    【解决方案1】:

    您需要附加带有提交按钮的表单或附加 javascript 代码,以使下拉菜单与您的选择进行交互。

    https://codex.wordpress.org/Function_Reference/wp_dropdown_categories

    <form id="category-select" class="category-select" action="<?php echo esc_url( home_url( '/' ) ); ?>" method="get">
        <?php wp_dropdown_categories($args); ?>
        <input type="submit" name="submit" value="view" />
    </form>
    

    或者

    <?php wp_dropdown_categories($args); ?>    
    <script type="text/javascript">
            <!--
            var dropdown = document.getElementById("cat");
            function onCatChange() {
                if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
                    location.href = "<?php echo esc_url( home_url( '/' ) ); ?>?cat="+dropdown.options[dropdown.selectedIndex].value;
                }
            }
            dropdown.onchange = onCatChange;
            -->
        </script>
    

    【讨论】:

    • 嘿,您编写的第二个代码有效,但它检索类别 ID 而不是类别的 slug,我怎样才能让它返回 /camera-photos/ 而不是 /=cat=254 ?谢谢。
    • 尝试在你的 $args 中添加 'value_field'=>'slug' codex.wordpress.org/Function_Reference/wp_dropdown_categories
    • 当我把它放在我的 $args 上时,代码停止重定向到类别点击
    • 如何更改代码行 location.href = "?category="+dropdown.options[dropdown.selectedIndex].value; ?
    • 除了从“?cat”更改为“?category”之外不会产生任何变化:(
    【解决方案2】:

    用jquery代码编写一个块来读取选择器的变化,这是一个建议,你可以做你需要的调整

    试试这样:

        <select id="pages">
      <option value="">Select Page</option>
      <option value="google.com">Google</option>
      <option value="hitcel.com">HITCEL</option>
      <option value="facebook.com">Facebook</option>
    </select>
    
    $("#pages").change(function(){
        var value = $(this).val();
      if(value==""){
      }else{
        window.location.href="https://"+value
      }
    })
    

    示例: https://jsfiddle.net/xfxstudios/378jx1gL/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 2012-05-15
      相关资源
      最近更新 更多