我想从WooCommerce产品页面的“选项”后面的变体形式下拉列表中删除:
我发现很多应该起作用的代码,显然不起作用。可能已经过时了最新的WooCommerce版本。
我尝试过的并且部分起作用:
add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'my_wc_filter_dropdown_args', 10 );
function my_wc_filter_dropdown_args( $args ) {
$args['show_option_none'] = '';
return $args;
}
仅当我在“”(而不是空白)之间设置一些文本时才有效。当完全像上面一样将其添加到functions.php中时,它没有更改,并设置为默认文本-如图中的“选择选项”。我不确定这是怎么回事。我也尝试过“ false”或“ none”,但不适用于这两个选项。
如果有人可以帮助我,我将不胜感激。
我正在使用最新的WP 4.9.6和最新的WooCommerce(无论它是什么版本)。一切都会更新到最新版本,甚至PHP(7.2)。
答案 0 :(得分:2)
正确的方法是使用woocommerce_dropdown_variation_attribute_options_html
过滤器挂钩。在具有默认属性下拉菜单的普通变量产品的屏幕截图下方:
所以有2种不同的情况:
1)完全删除此html option
**:
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
$show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
$show_option_none_html = '<option value="">' . esc_html( $show_option_none_text ) . '</option>';
$html = str_replace($show_option_none_html, '', $html);
return $html;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
完全删除了html选项,仅保留具有产品属性值的选项:
2)仅删除文本“选择选项”(您将拥有一个没有标签名称的选项):
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'filter_dropdown_option_html', 12, 2 );
function filter_dropdown_option_html( $html, $args ) {
$show_option_none_text = $args['show_option_none'] ? $args['show_option_none'] : __( 'Choose an option', 'woocommerce' );
$show_option_none_text = esc_html( $show_option_none_text );
$html = str_replace($show_option_none_text, '', $html);
return $html;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
所有代码都在最新的Woocommerce 3.4.x版上进行了测试
答案 1 :(得分:0)
只需放入功能文件
add_filter( 'woocommerce_dropdown_variation_attribute_options_args', 'wc_remove_options_text');
function wc_remove_options_text( $args ){
$args['show_option_none'] = '';
return $args;
}
答案 2 :(得分:0)
将此代码添加到当前主题的 function.php 文件中。
extension UIApplication {
func endEditing(_ force: Bool) {
self.windows
.filter{$0.isKeyWindow}
.first?
.endEditing(force)
}
}
struct ResignKeyboardOnDragGesture: ViewModifier {
var gesture = DragGesture().onChanged{_ in
UIApplication.shared.endEditing(true)
}
func body(content: Content) -> some View {
content.gesture(gesture)
}
}
extension View {
func resignKeyboardOnDragGesture() -> some View {
return modifier(ResignKeyboardOnDragGesture())
}
}
答案 3 :(得分:0)
如何通过CSS做到这一点?
.select2-results__options li:first-child {
display: none;
}