Supporto » Funzionalità = Plugin » Array di categorie child_of

  • Sto cercando di customizzare il loop dei post in base alla categoria di appartenenza.
    In pratica vorrei che se stiamo visualizzando le categorie 1,3,4,5 i post vengano ordinati ASC; in altre categorie devono essere ordinati DESC.

    Ho scritto questo ma qualcosa non torna, credo nell’uso dell’array:

    $cats = get_categories ('child_of=2751');
    foreach ($cats as $cat) {
    	$catid[] = $cat->cat_ID;
    	//print_r($catid);
    	 }
    
    if(is_category(array($catid))) :
      query_posts( 'order=ASC');
    endif;

    a seguire parte il loop che però non sembra risentire delle mie indicazioni. dove sbaglio? grazie

Stai vedendo 1 repliche (di 1 totali)
  • Giuliano Growler

    (@giulianogrowler)

    Ciao DarioDN,
    prima di tutto ricordati di non modificare direttamente il tema e di effettuare sempre un bk prima di ogni modifica. Crea un Child Theme del tuo tema e poi procedi con le modifiche. Nel tuo caso credo che ti possa essere utile questo codice da copiare nel file functions.php del tema child (ma funziona anche se lo incolli nel file functions.php del tuo tema genitore).

    Per le categorie che vuoi in ordine ASC:

    function dariodn_custom_asc( $query ) {
    
        if ( is_admin() || ! $query->is_main_query() )
            return;
    
        if ( is_category(array(1,2,3)) ) {
    
    		$query->set( 'orderby', 'title' );
                    $query->set( 'order', 'ASC' );
            return;
        }
    
      
    }
    add_action( 'pre_get_posts', 'dariodn_custom_asc', 1 );

    Per le categorie che vuoi in ordine DESC:

    function dariodn_custom_desc( $query ) {
    
        if ( is_admin() || ! $query->is_main_query() )
            return;
    
        if ( is_category(array(4,5,6)) ) {
    
    		$query->set( 'orderby', 'title' );
                    $query->set( 'order', 'DESC' );
            return;
        }
    
      
    }
    add_action( 'pre_get_posts', 'dariodn_custom_DESC', 1 );

    Ovviamente sostituisci (1,2,3) e (4,5,6) con gli id delle categorie che desideri.

    Fai sapere.

Stai vedendo 1 repliche (di 1 totali)
  • Il topic ‘Array di categorie child_of’ è chiuso a nuove risposte.