Wordpress - 订阅所有内容:将单选按钮转换为下拉菜单

时间:2017-04-03 17:02:48

标签: php wordpress drop-down-menu woocommerce radio-button

如何将此选项列表从单选按钮转换为下拉菜单? 下面是从single-product.php模板中提取的代码。

<div class="wcsatt-options-wrapper" <?php echo count( $options ) === 1 ? 'style="display:none;"' : '' ?>><?php

if ( $prompt ) {
    echo $prompt;
} else {
    ?><h3><?php
        _e( 'Choose a subscription plan:', WCS_ATT::TEXT_DOMAIN );
    ?></h3><?php
}

?><ul class="wcsatt-options-product"><?php
    foreach ( $options as $option_id => $option ) {
        ?><li class="<?php echo $option_id !== '0' ? 'subscription-option' : 'one-time-option'; ?>">
            <label>
                <input type="radio" name="convert_to_sub_<?php echo $product->id; ?>" data-custom_data="<?php echo esc_attr( json_encode( $option[ 'data' ] ) ); ?>" value="<?php echo $option_id; ?>" <?php checked( $option[ 'selected' ], true, true ); ?> />
                <?php echo $option[ 'description' ]; ?>
            </label>
        </li><?php
    }
?></ul>

2 个答案:

答案 0 :(得分:0)

我不知道您正在使用什么系统或验证或其他任何工作方式,但是如果没有这样的话会让您关闭:

function reviewajaxrequest() {

  var xhr3 = new XMLHttpRequest();

      xhr3.addEventListener("load", resultsReturnedReview);
      xhr3.open("GET", "reviewadded.php?user_review=" + reviewbox + "&place_id=" + id);
      xhr3.send();

}

基本上,您只是将输入元素转换为 <ul class="wcsatt-options-product"> <select name="convert_to_sub_<?php echo $product->id; ?>"> <?php foreach ( $options as $option_id => $option ) { ?><li class="<?php echo $option_id !== '0' ? 'subscription-option' : 'one-time-option'; ?>"> <option value="<?php echo $option_id; ?>" data-custom_data="<?php echo esc_attr( json_encode( $option[ 'data' ] ) ); ?>" <?php echo($option[ 'selected' ] ? ' selected="selected" : '' ?>><?php echo $option[ 'description' ]; ?></option> </li><?php } ?></select></ul> 并将其全部包装在<option>标记中。

答案 1 :(得分:0)

我让这个工作!但是,我很确定我不应该使用带有下拉菜单的已检查参数...有任何改进建议吗?

<ul class="wcsatt-options-product">
    <select name="convert_to_sub_<?php echo $product->id; ?>" data-custom_data="<?php echo esc_attr( json_encode( $option[ 'data' ] ) ); ?>">
    <?php
        foreach ( $options as $option_id => $option ) {
            ?><li class="<?php echo $option_id !== '0' ? 'subscription-option' : 'one-time-option'; ?>">
                <label>
                    <option value="<?php echo $option_id; ?>" <?php checked( $option[ 'selected' ], true, true ); ?>> <?php echo $option[ 'description' ]; ?> </option>
                </label>
            </li><?php
        }
    ?>
    </select>
</ul>
相关问题