WordPress Filter Preise ACF Field – Suche & Kategorien

WordPress Filter Preise ACF-Feld Suche & Kategorien
Inhaltsverzeichnis

Dieser Filter wird an das Ende in der WordPress functions.php kopiert. Damit kann ein Formular zum Filtern der Preise verwendet werden!

  • Preis von – bis (range)
  • Sortierung kleiner oder größter Preis
				
					/*Das Script*/

function wpa_filter_home_query( $query ){
    if($query->is_main_query() && isset( $_GET['search_price'] )){

		if(empty($_GET['search_price'][0])){
			$_GET['search_price'][0] = '1';
		}

		if(empty($_GET['search_price'][1])){
			$_GET['search_price'][1] = '19000';
		}

		$meta_query = array(
            array(
                'key' => 'search_price',
                'value' => array( $_GET['search_price'][0], $_GET['search_price'][1] ),
                'type' => 'numeric',
                'compare' => 'BETWEEN'
            )
        );
        $query->set( 'meta_query', $meta_query );
    }
}
add_action( 'pre_get_posts', 'wpa_filter_home_query' );
				
			
				
					/*Das Formular*/

<?php
	if($_GET['s']){
		$sucheeinbinden = '<input type="hidden" name="s" value="'.$_GET['s'].'">';
	}
	echo '
		<form action="" methode="GET" id="formsend">
			<div style="width:100%;">
				 <div style="width:45%;float:left;">
					<div style="margin-right:10px;">
						<lable>Preis</lable>
						<input type="number" step="1.0" name="search_price[]" value="'.$_GET['search_price'][0].'" class="form-control" placeholder="von" style="max-width: 100px;"></input>
						<lable> - </lable>
						<input type="number" step="1.0" name="search_price[]" value="'.$_GET['search_price'][1].'" class="form-control" placeholder="bis" style="max-width: 100px;"></input>
					</div>
				</div>

				<div style="width:40%;float:left;">
					<div class="form-group">
						<select onchange="this.form.submit()" class="form-control" name="order">
							<option disabled selected value>Sortieren</option>
							<option value="asc" '; if($_GET['order'] == 'asc'){echo ' selected';} echo'>Niedrigster Preis</otion>
							<option value="desc" '; if($_GET['order'] == 'desc'){echo ' selected';} echo'>Höchster Preis</otion>
						</select>
					</div>
				</div>
				<div style="width:10%;float:left;margin-left:10px;">
					<button type="submit"><i class="fas fa-search"></i></button>
				</div>
			</div>
			<input type="hidden" name="orderby" value="meta_value_num">
			'.$sucheeinbinden.'
		</form>
	';
?>
				
			
				
					/*MULTIFILTER*/
function wpa_filter_home_query( $query ){
    if($query->is_main_query() && isset( $_GET['search_price'] )){

		if(empty($_GET['search_price'][0])){
			$_GET['search_price'][0] = '1';
		}

		if(empty($_GET['search_price'][1])){
			$_GET['search_price'][1] = '19000';
		}

		$meta_query[] = array(
            'key' => 'search_price',
			'value' => array( $_GET['search_price'][0], $_GET['search_price'][1] ),
			'type' => 'numeric',
			'compare' => 'BETWEEN',
        );

		if(!empty($_GET['kapazitat']))
		{
			$meta_query[] = array(
				'key' => 'kapazitat',
				'value' => $_GET['kapazitat'],
				'type' => 'text',
				'compare' => 'LIKE',
			);
		}

		$query->set('meta_query',$meta_query);
    }
}
add_action( 'pre_get_posts', 'wpa_filter_home_query' );
				
			

*In diesem Artikel sind Partner-Links enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Danke für eure Unterstützung!

Teile diese Seite und unterstütze mich dadurch!

Möchtest du mich und meinen Blog unterstützen? So teile einfach meine Seite auf anderen Internetseiten! Zum Beispiel in Blogs oder sozialen Netzwerken, wie Twitter, Facebook etc. 

Vielen Dank für deine Unterstützung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Broschi
Broschi
Hi, ich bin Andreas. Seit 1999 erstelle ich Webseiten, daher kenne ich mich perfekt in WordPress, PHP, Affiliate Marketing und vor allem SEO aus. Solltest du Hilfe benötigen, dann schau mal hier. Ich liebe Technik gerade PCs mit allem was dazu gehört!
Broschi
Broschi
Hi, ich bin Andreas. Seit 1999 erstelle ich Webseiten, daher kenne ich mich perfekt in WordPress, PHP, Affiliate Marketing und vor allem SEO aus. Solltest du Hilfe benötigen, dann schau mal hier. Ich liebe Technik gerade PCs mit allem was dazu gehört!

Inhaltsverzeichnis
Werbung*