Suport » Probleme și soluții » Filtrare produse

  • Salut! Sunt nou pe WordPress si incerc sa fac o functie.

    Folosesc WordPress cu pluginul Woocommerce

    In baza de date in tabelul wp_postmeta pentru majoritatea produselor am in meta_key am multiple_external cu meta_value in felul acesta:

    a:3:{i:0;a:3:{i:0;s:17:"https://site1.com";i:1;s:6:"Site 1";i:2;s:7:"200 LEI";}i:1;a:3:{i:0;s:17:"https://site2.com";i:1;s:6:"Site 2";i:2;s:7:"300 LEI";}i:2;a:3:{i:0;s:17:"https://site3.com";i:1;s:6:"Site 3";i:2;s:7:"400 LEI";}}

    Cum as putea obtine in lista produselor in partea stanga, fiecare nume de site din toate produsele de pe site, fara a dubla numele unui site ?

    Vreau sa fac un filtru de produse pentru fiecare nume de site

    site.ro/produse?shops=Site 1,Site 2

    add_filter( 'woocommerce_product_query_meta_query', 'filter_woocommerce_product_query_meta_query', 10, 2 );
    function filter_woocommerce_product_query_meta_query( array $meta_query ): array {
        if ( is_shop() || is_product_category() ) {	 
    	 
    		 if ($_GET['shops']) {
    			$shops = explode(",", $_GET["shops"]);
    
    			$meta_query = array(
    				'relation' => 'OR',
    				array(
    							'key'     => '_multiple_external_',
    							'value'   => 'Site 1',
    							'compare' => 'LIKE'
    				),	
    				array(
    							'key'     => '_multiple_external_',
    							'value'   => 'Site 2',
    							'compare' => 'LIKE'
    				)			
    
    			);		 
    		 }
    	 }
    
        return $meta_query;
    }	 }
    	 }
    
        return $meta_query;
    }

    Cum pot face un foreach pentru $shops pentru a selecta doar produsele care au in i[1] multiple_external numele site-urilor?

  • Subiectul „Filtrare produse” este închis pentru răspunsuri noi.