public function search( WP_REST_Request $request ) { $term = sanitize_text_field( $request->get_param('search') ); if ( empty( $term ) ) { return [ 'ok' => false, 'message' => 'Kein Suchbegriff' ]; } error_log( '!!! SEARCH: ' . $term ); $results = []; $found_ids = []; /* |-------------------------------------------------------------------------- | SONDERFALL 1: Chipnummer (15-stellige Zahl) |-------------------------------------------------------------------------- */ if ( preg_match('/^\d{15}$/', $term) ) { global $wpdb; $id = $wpdb->get_var( $wpdb->prepare( " SELECT ID FROM {$wpdb->posts} WHERE post_type = 'product' AND post_status = 'publish' AND ( post_content LIKE %s OR post_excerpt LIKE %s ) LIMIT 1 ", '%Chip:%' . $wpdb->esc_like($term) . '%', '%Chip:%' . $wpdb->esc_like($term) . '%' ) ); if ( $id ) { $post = get_post($id); $results[] = $this->format_result( $post ); } return [ 'ok' => true, 'search_term' => $term, 'count' => count($results), 'results' => $results ]; } /* |-------------------------------------------------------------------------- | SONDERFALL 2: Ear / OM Nummer (reine Zahlen) |-------------------------------------------------------------------------- */ if ( preg_match('/^\d+$/', $term) ) { global $wpdb; $id = $wpdb->get_var( $wpdb->prepare( " SELECT ID FROM {$wpdb->posts} WHERE post_type = 'product' AND post_status = 'publish' AND ( post_content LIKE %s OR post_excerpt LIKE %s ) LIMIT 1 ", '%OM:%' . $wpdb->esc_like($term) . '%', '%OM:%' . $wpdb->esc_like($term) . '%' ) ); if ( $id ) { $post = get_post($id); $results[] = $this->format_result( $post ); } return [ 'ok' => true, 'search_term' => $term, 'count' => count($results), 'results' => $results ]; } /* |-------------------------------------------------------------------------- | SONDERFALL 3: Kennel Attribut |-------------------------------------------------------------------------- */ if ( strlen($term) >= 3 ) { $kennel_query = new WP_Query([ 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => 8, 'tax_query' => [ [ 'taxonomy' => 'pa_kennel', 'field' => 'slug', 'terms' => sanitize_title($term), ] ] ]); foreach ($kennel_query->posts as $post) { $results[] = $this->format_result( $post ); } if ( ! empty($results) ) { return [ 'ok' => true, 'search_term' => $term, 'count' => count($results), 'results' => $results ]; } } BARACK war fix und fertig, als wir ihn in Bucov kennenlernten. | ProDog Romania e.V.

Lange musste er im vetkennel aushalten. Draußen in den großen Kennels hätte er nicht lange durchgehalten.
Nach all der langen Zeit, nach all den Strapazen und Sorgen, die er aushalten musste, kann er nun wirklich endlich von sich behaupten:
„Ja, Freunde. Mir geht es gut – und zwar so richtig!!“

Ich habe ihn fast nicht wiedererkannt… ❤

Auswahl einschränken

[woof sid="prodogfilter" autohide=0 ]