繁体   English   中英

WordPress主题中的重置/刷新搜索表单按钮

[英]Reset/Refresh Search Form Button in WordPress Theme

第一次发布。 非常感谢您提前提供的帮助。 我真的很感激。

我目前正在使用wordpress主题来搜索世界各地的别墅,并且我想添加一个重置按钮,以清除由自定义字段应用填充的字段,下拉列表和复选框。 正常的重置按钮不起作用,由于我正在自己动手自学PHP,所以我很茫然。 这是页面的链接,我将粘贴一些代码,以便您了解我在看什么。

我非常感谢任何帮助,因为主题作者一直让我失望。

链接

 <?php global $realty_theme_option, $wp_query; ?> <form class="property-search-form border-box" action="<?php if ( tt_page_id_template_search() ) { echo get_permalink( tt_page_id_template_search() ); } ?>"> <div class="row"> <?php if ( isset( $realty_theme_option['property-search-results-page'] ) && empty( $realty_theme_option['property-search-results-page'] ) ) { ?> <div class="col-xs-12" style="margin-bottom: 1em"> <p class="alert alert-info"><?php esc_html_e( 'Please go to "Appearance > Theme Options > Pages" and set the page you want to use as your property search results.', 'realty' ); ?></p> </div> <?php } ?> <?php // Form select classes $form_select_class = 'form-control'; if ( $realty_theme_option['enable-rtl-support'] || is_rtl() ) { $form_select_class .= ' chosen-select chosen-rtl'; } else { $form_select_class .= ' chosen-select'; } $acf_field_array = array(); if ( isset( $realty_theme_option['property-search-features'] ) && ! tt_is_array_empty( $realty_theme_option['property-search-features'] ) ) { $property_search_features = $realty_theme_option['property-search-features']; } else { $property_search_features = null; } $raw_search_params = get_query_var( 'property_search_parameters' ); if ( ! tt_is_array_empty( $raw_search_params ) ) { $search_parameters = $raw_search_params; } else if ( isset( $realty_theme_option['property-search-parameter'] ) && ! empty( $realty_theme_option['property-search-parameter'] ) ) { $search_parameters = $realty_theme_option['property-search-parameter']; } else { $search_parameters = null; } $raw_search_fields = get_query_var('property_search_fields'); if ( ! tt_is_array_empty( $raw_search_fields ) ) { $search_fields = $raw_search_fields; } else if ( isset( $realty_theme_option['property-search-parameter'] ) && ! empty( $realty_theme_option['property-search-parameter'] ) ) { $search_fields = $realty_theme_option['property-search-field']; } else { $search_fields = null; } $raw_search_labels = get_query_var('property_search_labels'); if ( ! tt_is_array_empty( $raw_search_labels ) ) { $search_labels = $raw_search_labels; } else if ( isset( $realty_theme_option['property-search-label'] ) && ! empty( $realty_theme_option['property-search-label'] ) ) { $search_labels = $realty_theme_option['property-search-label']; } else { $search_labels = null; } $default_search_fields_array = array( 'estate_search_by_keyword', 'estate_property_id', 'estate_property_location', 'estate_property_type', 'estate_property_status', 'estate_property_price', 'estate_property_price_min', 'estate_property_price_max', 'estate_property_pricerange', 'estate_property_size', 'estate_property_rooms', 'estate_property_bedrooms', 'estate_property_bathrooms', 'estate_property_garages', 'estate_property_available_from' ); $i = 0; if ( isset( $search_form_columns ) && ! empty( $search_form_columns ) ) { // Use $columns parameter from shortcode [property_search_form] $count_search_fields = $search_form_columns; } else { // No shortcode $columns found, pick columns according to total field count $count_search_fields = count( $search_fields ); } if ( $count_search_fields == 1 ) { $columns = 'col-xs-12'; } else if ( $count_search_fields == 2 ) { $columns = 'col-xs-12 col-sm-6'; } else if ( $count_search_fields == 3 ) { $columns = 'col-xs-12 col-sm-6 col-md-4'; } else { $columns = 'col-xs-12 col-sm-4 col-md-3'; } if ( is_page_template( 'template-map-vertical.php' ) ) { $columns = 'col-xs-12 col-sm-6'; } // Do we have any search parameters defined? if ( isset( $search_parameters ) && ! empty( $search_parameters[0] ) ) { foreach ( $search_fields as $search_field ) { $search_parameter = $search_parameters[$i]; // Check If Search Field Is Filled Out if ( ! empty( $search_field ) ) { // Default Property Field if ( in_array( $search_field, $default_search_fields_array ) ) { switch ( $search_field ) { case 'estate_search_by_keyword' : case 'estate_property_id' : ?> <div class="<?php echo $columns; ?> form-group"> <input type="text" name="<?php echo $search_parameter; ?>" id="<?php echo $search_parameter; ?>" value="<?php echo isset( $_GET[$search_parameter]) ? $_GET[$search_parameter] : ''; ?>" placeholder="<?php echo $search_labels[$i]; ?>" class="form-control" /> </div> <?php break; case 'estate_property_location' : ?> <div class="<?php echo $columns; ?> form-group select"> <?php // http://wordpress.stackexchange.com/questions/14652/how-to-show-a-hierarchical-terms-list#answer-14658 if ( ! empty( $search_labels[$i] ) ) { $search_label_location = $search_labels[$i]; } else { $search_label_location = esc_html__( 'Any Location', 'realty' ); } ?> <select name="<?php echo $search_parameter; ?>" id="<?php echo $search_parameter; ?>" class="<?php echo esc_attr( $form_select_class ); ?>"> <option value="all"><?php echo $search_label_location; ?></option> <?php $location = get_terms('property-location', array( 'orderby' => 'slug', 'parent' => 0, 'hide_empty' => false ) ); if ( isset( $_GET[$search_parameter] ) ) { $get_location = $_GET[$search_parameter]; } else { $get_location = null; } ?> <?php foreach ( $location as $key => $location ) : ?> <option value="<?php echo $location->slug; ?>" <?php selected( $location->slug, $get_location ); ?>> <?php echo $location->name; $location2 = get_terms( 'property-location', array( 'orderby' => 'slug', 'parent' => $location->term_id ) ); if ( $location2 ) : ?> <optgroup> <?php foreach( $location2 as $key => $location2 ) : ?> <option value="<?php echo $location2->slug; ?>" class="level2" <?php selected( $location2->slug, $get_location ); ?>> <?php echo $location2->name; $location3 = get_terms( 'property-location', array( 'orderby' => 'slug', 'parent' => $location2->term_id ) ); if ( $location3 ) : ?> <optgroup> <?php foreach( $location3 as $key => $location3 ) : ?> <option value="<?php echo $location3->slug; ?>" class="level3" <?php selected( $location3->slug, $get_location ); ?>> <?php echo $location3->name; $location4 = get_terms( 'property-location', array( 'orderby' => 'slug', 'parent' => $location3->term_id ) ); if( $location4 ) : ?> <optgroup> <?php foreach( $location4 as $key => $location4 ) : ?> <option value="<?php echo $location4->slug; ?>" class="level4" <?php selected( $location4->slug, $get_location ); ?>> <?php echo $location4->name; ?> </option> <?php endforeach; ?> </optgroup> <?php endif; ?> </option> <?php endforeach; ?> </optgroup> <?php endif; ?> </option> <?php endforeach; ?> </optgroup> <?php endif; ?> </option> <?php endforeach; ?> </select> </div> 

有一行代码需要修改

<a href="javascript:document.getElementById('form_[form_key]').reset();" autocomplete="off">Reset Form</a>

该元素不存在,该表单具有一个名为property-search-form ,您可以将其用作选择器。

所以用类似

<a href="javascript:document.getElementsByClassName('property-search-form').reset();" autocomplete="off">Reset Form</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM