Sacconi69

my search box

Feb 10th, 2024
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. //CUSTOM SEARCH BOX E SUO SHORTCODE
  2. //CODICE GURU di WordPress Buddha
  3.  
  4. function wpb_demo_shortcode() {
  5. global $wpdb, $wp_query;
  6.  
  7. // Retrieve categories dropdown
  8. $categories = wp_dropdown_categories([
  9. 'show_count' => 1,
  10. 'hierarchical' => 1,
  11. 'show_option_all' => esc_html__('All destinations', 'sacconicase'),
  12. 'echo' => false,
  13. ]);
  14.  
  15. // Retrieve tipologia dropdown
  16. $select = $wp_query->get('tipologia');
  17. $select = '' == $select ? 0 : $select;
  18. $taxonomy = wp_dropdown_categories([
  19. 'hierarchical' => false,
  20. 'name' => 'tipologia',
  21. 'taxonomy' => 'tipologia',
  22. 'selected' => $select,
  23. 'show_option_all' => esc_html__('Typology', 'sacconicase'),
  24. 'value_field' => 'slug',
  25. 'echo' => false
  26. ]);
  27.  
  28. // Retrieve unique values for 'function_camere' custom field
  29. $functionCamereValues = $wpdb->get_col("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = 'function_camere' ORDER BY meta_value");
  30. $functionCamereDropdown = '<select name="function_camere">';
  31. $functionCamereDropdown .= '<option value="">' . esc_html__('n.Bedrooms', 'sacconicase') . '</option>';
  32. foreach ($functionCamereValues as $value) {
  33. $functionCamereDropdown .= '<option value="' . esc_attr($value) . '">' . esc_html($value).'+' . '</option>';
  34. }
  35. $functionCamereDropdown .= '</select>';
  36.  
  37. // Retrieve unique values for 'function_ospiti' custom field
  38. $functionOspitiValues = $wpdb->get_col("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = 'function_ospiti' ORDER BY meta_value");
  39. $functionOspitiDropdown = '<select name="function_ospiti">';
  40. $functionOspitiDropdown .= '<option value="">' . esc_html__('n.Guests', 'sacconicase') . '</option>';
  41. foreach ($functionOspitiValues as $value) {
  42. $functionOspitiDropdown .= '<option value="' . esc_attr($value) . '">' . esc_html($value).'+' . '</option>';
  43. }
  44. $functionOspitiDropdown .= '</select>';
  45.  
  46.  
  47.  
  48. // Form output
  49. $output = '<form class="sacconi_form" method="get" action="' . home_url('/') . '">' .
  50. $categories . $taxonomy . $functionOspitiDropdown . $functionCamereDropdown . '<br><br>' .
  51. '<input type="submit" name="search" value="' . esc_html__('Search', 'sacconicase') . '">' .
  52. '</form>';
  53.  
  54. return $output;
  55. }
  56.  
  57.  
  58. // register shortcode
  59.  
  60. add_shortcode('ricerca', 'wpb_demo_shortcode');
  61.  
Advertisement
Add Comment
Please, Sign In to add comment