Php 订阅所有内容:将单选按钮转换为下拉菜单
如何将此选项列表从单选按钮转换为下拉菜单? 下面是从single-product.php模板中提取的代码Php 订阅所有内容:将单选按钮转换为下拉菜单,php,wordpress,drop-down-menu,woocommerce,radio-button,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><?ph
<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>
我不知道您使用的是什么系统,也不知道验证或任何东西是如何工作的,但如果没有这样的系统,您可能会接近:
<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>
我让它工作!但是,我很确定我不应该使用带有下拉菜单的checked参数。。。有什么改进的建议吗
<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>
不幸的是,这一切都没有发生。我试着在循环中移动标签,但这显然会创建一个标签,其中包含每个收音机选择和一个空白下拉菜单哈哈。代码:'@WillBarnwell结果: