将PHP下拉列表更改为UL LI列表

时间:2013-08-09 17:28:57

标签: php select drop-down-menu

我正在使用Wordpress网站,该网站有一个用于订购产品的下拉列表/选择列表。

我真的很喜欢这样做,并找到了一套非常好的样式courtesy of codrops我想用。

然而,HTML的使用UL LI列表而不是标准选择。

我需要尝试转换以下代码:

<select name="orderby" class="orderby">
    <?php
        $catalog_orderby = apply_filters( 'woocommerce_catalog_orderby', array(
            'menu_order' => __( 'Default sorting', 'woocommerce' ),

        'popularity' => __( 'Sort by popularity', 'woocommerce' ),

        'rating'     => __( 'Sort by average rating', 'woocommerce' ),

        'date'       => __( 'Sort by newness', 'woocommerce' ),

        'price'      => __( 'Sort by price: low to high', 'woocommerce' ),

        'price-desc' => __( 'Sort by price: high to low', 'woocommerce' )
    ) );

    if ( get_option( 'woocommerce_enable_review_rating' ) == 'no' )
        unset( $catalog_orderby['rating'] );

    foreach ( $catalog_orderby as $id => $name )
        echo '<option value="' . esc_attr( $id ) . '" ' . selected( $orderby, $id, false ) . '>' . esc_attr( $name ) . '</option>';
?>

到类似的东西:

<div class="wrapper-dropdown">
    <span>I'm kinda the label!</span>
    <ul class="dropdown">
        <li>I'm hidden!</li>
        <li>Me too!</li>
        <li>So do I.</li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:2)

<div class="wrapper-dropdown">
    <span>I'm kinda the label!</span>
    <ul class="dropdown">
    <?php
        $catalog_orderby = apply_filters( 'woocommerce_catalog_orderby', array(
            'menu_order' => __( 'Default sorting', 'woocommerce' ),

        'popularity' => __( 'Sort by popularity', 'woocommerce' ),

        'rating'     => __( 'Sort by average rating', 'woocommerce' ),

        'date'       => __( 'Sort by newness', 'woocommerce' ),

        'price'      => __( 'Sort by price: low to high', 'woocommerce' ),

        'price-desc' => __( 'Sort by price: high to low', 'woocommerce' )
    ) );

    if ( get_option( 'woocommerce_enable_review_rating' ) == 'no' )
        unset( $catalog_orderby['rating'] );

    foreach ( $catalog_orderby as $id => $name )
        echo '<li>' . esc_attr( $name ) . '</li>';
?>

    </ul>
</div>

只需使用echo <option>代码

关闭echo <li>代码即可