diff --git a/custom-search-plugin.php b/custom-search-plugin.php
index b7d779e..b7142b1 100644
--- a/custom-search-plugin.php
+++ b/custom-search-plugin.php
@@ -1,308 +1,308 @@
-
-
-
- __('Suchfeld mit Optionen für Titel- und Gastautoren-Suche', 'textdomain'))
- );
- }
-
- public function widget($args, $instance) {
- echo $args['before_widget'];
- echo '';
- echo csp_search_form();
- echo $args['after_widget'];
- }
-}
-
-function csp_register_widget() {
- register_widget('CSP_Search_Widget');
-}
-add_action('widgets_init', 'csp_register_widget');
-
-// 4️⃣ **Einstellungsseite hinzufügen**
-function csp_add_menu_page() {
- add_options_page(
- 'Custom Search Settings',
- 'Custom Search',
- 'manage_options',
- 'custom-search-settings',
- 'csp_render_settings_page'
- );
-}
-add_action('admin_menu', 'csp_add_menu_page');
-
-// 5️⃣ **Einstellungsseite rendern**
-function csp_render_settings_page() {
- ?>
-
-
Custom Search Settings
-
-
- ';
- echo '';
- foreach ($menus as $menu) {
- echo '';
- }
- echo '';
-}
-
-// 9️⃣ **Suchfeld zum ausgewählten Menü hinzufügen**
-function csp_add_search_to_menus($items, $args) {
- $selected_menu = get_option('csp_selected_menu');
- if ($selected_menu && $args->menu->term_id == $selected_menu) {
- $items .= '';
- }
- return $items;
-}
-add_filter('wp_nav_menu_items', 'csp_add_search_to_menus', 10, 2);
-
-// 🔟 **Aktualisierte Suchfunktion mit Suchtyp-Unterscheidung**
-function csp_custom_search_results($query) {
- if (!is_admin() && $query->is_search() && $query->is_main_query()) {
- $search_type = isset($_GET['search_type']) ? sanitize_text_field($_GET['search_type']) : 'all';
- $search_term = $query->get('s');
-
- switch($search_type) {
- case 'title':
- $query->set('post_title_like', $search_term);
- $query->set('s', '');
- add_filter('posts_where', 'csp_title_search_where', 10, 2);
- break;
-
- case 'guest_author':
- $meta_query = array(
- array(
- 'key' => '_guest_author',
- 'value' => $search_term,
- 'compare' => '='
- )
- );
- $query->set('meta_query', $meta_query);
- $query->set('s', '');
- $query->set('post_type', 'post');
- break;
-
- default: // 'all'
- $query->set('_meta_or_title', $search_term);
- add_filter('posts_search', 'csp_custom_search_where', 10, 2);
- add_filter('posts_join', 'csp_custom_search_join', 10, 2);
- add_filter('posts_groupby', 'csp_custom_search_groupby', 10, 2);
- break;
- }
- }
-}
-add_action('pre_get_posts', 'csp_custom_search_results');
-
-// 1️⃣1️⃣ **Hilfsfunktionen für verschiedene Suchtypen**
-function csp_title_search_where($where, $query) {
- global $wpdb;
- if ($search_term = $query->get('post_title_like')) {
- $where .= $wpdb->prepare(
- " AND {$wpdb->posts}.post_title LIKE %s",
- '%' . $wpdb->esc_like($search_term) . '%'
- );
- }
- return $where;
-}
-
-function csp_custom_search_where($where, $query) {
- global $wpdb;
- if ($search_term = $query->get('_meta_or_title')) {
- $search = '%' . $wpdb->esc_like($search_term) . '%';
- $where .= $wpdb->prepare(
- " OR ({$wpdb->posts}.post_title LIKE %s)
- OR ({$wpdb->posts}.post_content LIKE %s)
- OR ({$wpdb->posts}.post_excerpt LIKE %s)
- OR (guest_author.meta_value LIKE %s)
- OR ({$wpdb->users}.display_name LIKE %s)",
- $search, $search, $search, $search, $search
- );
- }
- return $where;
-}
-
-function csp_custom_search_join($join, $query) {
- global $wpdb;
- if ($query->get('_meta_or_title')) {
- $join .= " LEFT JOIN {$wpdb->postmeta} guest_author ON ({$wpdb->posts}.ID = guest_author.post_id AND guest_author.meta_key = '_guest_author')";
- $join .= " LEFT JOIN {$wpdb->users} ON ({$wpdb->posts}.post_author = {$wpdb->users}.ID)";
- }
- return $join;
-}
-
-function csp_custom_search_groupby($groupby, $query) {
- global $wpdb;
- if ($query->get('_meta_or_title')) {
- $groupby = "{$wpdb->posts}.ID";
- }
- return $groupby;
-}
-
-// 1️⃣2️⃣ **Hilfsfunktion für Gastautoren-Suche**
-function csp_guest_author_search_where($where, $query) {
- global $wpdb;
- if ($query->get('meta_query')) {
- $where .= " AND EXISTS (
- SELECT 1 FROM {$wpdb->postmeta}
- WHERE {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
- AND {$wpdb->postmeta}.meta_key = '_guest_author'
- AND {$wpdb->postmeta}.meta_value != ''
- )";
- }
- return $where;
-}
-add_filter('posts_where', 'csp_guest_author_search_where', 10, 2);
-
-?>
+
+
+
+ __('Suchfeld mit Optionen für Titel- und Gastautoren-Suche', 'textdomain'))
+ );
+ }
+
+ public function widget($args, $instance) {
+ echo $args['before_widget'];
+ echo '';
+ echo csp_search_form();
+ echo $args['after_widget'];
+ }
+}
+
+function csp_register_widget() {
+ register_widget('CSP_Search_Widget');
+}
+add_action('widgets_init', 'csp_register_widget');
+
+// 4️⃣ **Einstellungsseite hinzufügen**
+function csp_add_menu_page() {
+ add_options_page(
+ 'Custom Search Settings',
+ 'Custom Search',
+ 'manage_options',
+ 'custom-search-settings',
+ 'csp_render_settings_page'
+ );
+}
+add_action('admin_menu', 'csp_add_menu_page');
+
+// 5️⃣ **Einstellungsseite rendern**
+function csp_render_settings_page() {
+ ?>
+
+
Custom Search Settings
+
+
+ ';
+ echo '';
+ foreach ($menus as $menu) {
+ echo '';
+ }
+ echo '';
+}
+
+// 9️⃣ **Suchfeld zum ausgewählten Menü hinzufügen**
+function csp_add_search_to_menus($items, $args) {
+ $selected_menu = get_option('csp_selected_menu');
+ if ($selected_menu && $args->menu->term_id == $selected_menu) {
+ $items .= '';
+ }
+ return $items;
+}
+add_filter('wp_nav_menu_items', 'csp_add_search_to_menus', 10, 2);
+
+// 🔟 **Aktualisierte Suchfunktion mit Suchtyp-Unterscheidung**
+function csp_custom_search_results($query) {
+ if (!is_admin() && $query->is_search() && $query->is_main_query()) {
+ $search_type = isset($_GET['search_type']) ? sanitize_text_field($_GET['search_type']) : 'all';
+ $search_term = $query->get('s');
+
+ switch($search_type) {
+ case 'title':
+ $query->set('post_title_like', $search_term);
+ $query->set('s', '');
+ add_filter('posts_where', 'csp_title_search_where', 10, 2);
+ break;
+
+ case 'guest_author':
+ $meta_query = array(
+ array(
+ 'key' => '_guest_author',
+ 'value' => $search_term,
+ 'compare' => '='
+ )
+ );
+ $query->set('meta_query', $meta_query);
+ $query->set('s', '');
+ $query->set('post_type', 'post');
+ break;
+
+ default: // 'all'
+ $query->set('_meta_or_title', $search_term);
+ add_filter('posts_search', 'csp_custom_search_where', 10, 2);
+ add_filter('posts_join', 'csp_custom_search_join', 10, 2);
+ add_filter('posts_groupby', 'csp_custom_search_groupby', 10, 2);
+ break;
+ }
+ }
+}
+add_action('pre_get_posts', 'csp_custom_search_results');
+
+// 1️⃣1️⃣ **Hilfsfunktionen für verschiedene Suchtypen**
+function csp_title_search_where($where, $query) {
+ global $wpdb;
+ if ($search_term = $query->get('post_title_like')) {
+ $where .= $wpdb->prepare(
+ " AND {$wpdb->posts}.post_title LIKE %s",
+ '%' . $wpdb->esc_like($search_term) . '%'
+ );
+ }
+ return $where;
+}
+
+function csp_custom_search_where($where, $query) {
+ global $wpdb;
+ if ($search_term = $query->get('_meta_or_title')) {
+ $search = '%' . $wpdb->esc_like($search_term) . '%';
+ $where .= $wpdb->prepare(
+ " OR ({$wpdb->posts}.post_title LIKE %s)
+ OR ({$wpdb->posts}.post_content LIKE %s)
+ OR ({$wpdb->posts}.post_excerpt LIKE %s)
+ OR (guest_author.meta_value LIKE %s)
+ OR ({$wpdb->users}.display_name LIKE %s)",
+ $search, $search, $search, $search, $search
+ );
+ }
+ return $where;
+}
+
+function csp_custom_search_join($join, $query) {
+ global $wpdb;
+ if ($query->get('_meta_or_title')) {
+ $join .= " LEFT JOIN {$wpdb->postmeta} guest_author ON ({$wpdb->posts}.ID = guest_author.post_id AND guest_author.meta_key = '_guest_author')";
+ $join .= " LEFT JOIN {$wpdb->users} ON ({$wpdb->posts}.post_author = {$wpdb->users}.ID)";
+ }
+ return $join;
+}
+
+function csp_custom_search_groupby($groupby, $query) {
+ global $wpdb;
+ if ($query->get('_meta_or_title')) {
+ $groupby = "{$wpdb->posts}.ID";
+ }
+ return $groupby;
+}
+
+// 1️⃣2️⃣ **Hilfsfunktion für Gastautoren-Suche**
+function csp_guest_author_search_where($where, $query) {
+ global $wpdb;
+ if ($query->get('meta_query')) {
+ $where .= " AND EXISTS (
+ SELECT 1 FROM {$wpdb->postmeta}
+ WHERE {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
+ AND {$wpdb->postmeta}.meta_key = '_guest_author'
+ AND {$wpdb->postmeta}.meta_value != ''
+ )";
+ }
+ return $where;
+}
+add_filter('posts_where', 'csp_guest_author_search_where', 10, 2);
+
+?>