Ik heb de volgende code voor een zoek balk op mijn frontpage van mijn wordpress website.
Het laat de categorieën van woocommerce zien.
De "var search_url" verwijst naar de categorie pagina. dit gaat goed alleen niet met de juist query of url.
Ik krijg dit /product-category/andorra/?product_subcat=grandvalira&product_subsubcat=el-tarter en het moet zijn /product-category/andorra/grandvalira/el-tarter/.
Heeft iemand een idee wat het probleem kan zijn? ik kom er niet meer uit.
Code:// Define shortcode for the search barfunction custom_search_bar_shortcode() { ob_start(); ?> <form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '//' ) ); ?>"> <?php // Get top-level product categories $product_categories = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'parent' => 0, ) ); if ( $product_categories ) : ?> <select name="product_cat" id="product_cat"> <option value=""><?php esc_html_e( 'Landen', 'text-domain' ); ?></option> <?php foreach ( $product_categories as $category ) : ?> <option value="<?php echo esc_attr( $category->slug ); ?>"><?php echo esc_html( $category->name ); ?></option> <?php endforeach; ?> </select> <select name="product_subcat" id="product_subcat" style="display: show;"> <option value=""><?php esc_html_e( 'Skigebieden', 'text-domain' ); ?></option> </select> <select name="product_subsubcat" id="product_subsubcat" style="display: show;"> <option value=""><?php esc_html_e( 'Bestemmingen', 'text-domain' ); ?></option> </select> <button type="submit" class="button_front_search"><i class="fas fa-search"></i><?php esc_html_e( '', 'text-domain' ); ?></button> <?php endif; ?> </form> <script> jQuery(document).ready(function($) { $('#product_cat').change(function(){ var category = $(this).val(); if(category){ $.ajax({ url: '<?php echo admin_url('admin-ajax.php'); ?>', type: 'POST', data: 'action=get_subcategories&category='+category, success:function(data){ $('#product_subcat').html(data); $('#product_subcat').show(); } }); } else { $('#product_subcat').html('<option value=""><?php esc_html_e( 'Select Subcategory', 'text-domain' ); ?></option>'); $('#product_subsubcat').html('<option value=""><?php esc_html_e( 'Select Subsubcategory', 'text-domain' ); ?></option>'); $('#product_subcat').show(); $('#product_subsubcat').show(); } }); $('#product_subcat').change(function(){ var subcategory = $(this).val(); if(subcategory){ $.ajax({ url: '<?php echo admin_url('admin-ajax.php'); ?>', type: 'POST', data: 'action=get_subsubcategories&subcategory='+subcategory, success:function(data){ $('#product_subsubcat').html(data); $('#product_subsubcat').show(); } }); } else { $('#product_subsubcat').html('<option value=""><?php esc_html_e( 'Select Subsubcategory', 'text-domain' ); ?></option>'); $('#product_subsubcat').show(); } }); // Update form action URL based on the selected subsubcategory $('#product_subsubcat').change(function(){ var subsubcategory = $(this).val(); if(subsubcategory){ var product_cat = $('#product_cat').val(); var product_subcat = $('#product_subcat').val(); var search_url = 'product-category/' + product_cat + '/' + product_subcat + '/' + subsubcategory + '/'; $('.woocommerce-product-search').attr('action', search_url); } }); }); </script> <?php $output = ob_get_clean(); return $output; } add_shortcode( 'custom_search_bar', 'custom_search_bar_shortcode' ); // AJAX function to get subcategories add_action('wp_ajax_get_subcategories', 'get_subcategories_callback'); add_action('wp_ajax_nopriv_get_subcategories', 'get_subcategories_callback'); function get_subcategories_callback() { $category = $_POST['category']; $subcategories = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'parent' => get_term_by('slug', $category, 'product_cat')->term_id, ) ); if ( $subcategories ) { $output = '<option value="">' . esc_html__( 'Kies Skigebied', 'text-domain' ) . '</option>'; foreach ( $subcategories as $subcategory ) { $output .= '<option value="' . esc_attr( $subcategory->slug ) . '">' . esc_html( $subcategory->name ) . '</option>'; } echo $output; } wp_die(); } // AJAX function to get subsubcategories add_action('wp_ajax_get_subsubcategories', 'get_subsubcategories_callback'); add_action('wp_ajax_nopriv_get_subsubcategories', 'get_subsubcategories_callback'); function get_subsubcategories_callback() { $subcategory = $_POST['subcategory']; $subsubcategories = get_terms( array( 'taxonomy' => 'product_cat', 'hide_empty' => true, 'parent' => get_term_by('slug', $subcategory, 'product_cat')->term_id, ) ); if ( $subsubcategories ) { $output = '<option value="">' . esc_html__( 'Kies Bestemming', 'text-domain' ) . '</option>'; foreach ( $subsubcategories as $subsubcategory ) { $output .= '<option value="' . esc_attr( $subsubcategory->slug ) . '">' . esc_html( $subsubcategory->name ) . '</option>'; } echo $output; } wp_die(); }
- zoek balk niet de juiste query of url
-
08-05-2024, 20:41 #1
- Berichten
- 3
- Lid sinds
- 1 jaar
zoek balk niet de juiste query of url
-
In de schijnwerper
Garages.nl, database.nl, hypotheekakte.nl, wood.nl en meer met vraagprijzen!Domein te koopWafelijzer.eu, alles het bakken van wafels, galettes, en meer. Geen reserve.Website te koopUltraTekst voor alle SEO teksten en blogs, ook adult en casino!Freelance / WerkHoe sta jij er Online voor? Doe de Gratis Marketing Scan!Overige deals -
11-05-2024, 13:51 #2
- Berichten
- 3
- Lid sinds
- 1 jaar
Re: zoek balk niet de juiste query of url
Opgelost!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic