Pour choisir un layout Masonry sur vos pages de categories du thème WordPress Enfold, récupérez votre fichier archives.php dans votre thème enfant pour pouvoir le modifier.


Changez les lignes :

$blog = new avia_post_slider($atts);
 $blog->query_entries();

Remplacez les par :

$blog = new avia_masonry($atts);
$blog->extract_terms();
$blog->query_entries();
$output .= $blog->html();

Vous pouvez aussi modifier les paramètres de l’affichage Masonry, soit $atts déclaré juste au dessus dans le code, j’ai par exemple ajouté les attributs suivants au tableau $atts

'caption_display'		=> 'on-hover-hide',
'gap'                                => 'large', 

(j’ai trouvé le nom des attributs et leurs valeurs en cherchant dans le code de l’outil Masonry )

Il faut ensuite rajouter le code suivant au fichier functions.php de votre thème :

//** Sélectionne les posts de la catégorie courante dans l'affichage masonry **//
add_filter( 'avia_masonry_entries_query', 'avia_masonry_query_func', 10, 2);
function avia_masonry_query_func( $query, $params ) {
  if (is_category () ) {
    global $wp_query;
      $term = $wp_query->get_queried_object();
    $tax = $term->taxonomy;
    $cat = get_query_var('cat');
    $catarray = array();
    $category = get_category($cat);
    $catarray[] = $category->term_id;

    $query['tax_query'] = array( 	array( 	'taxonomy' 	=> $tax,
    								'field' 	=> 'id',
    								'terms' 	=> $catarray,
    								'operator' 	=> 'IN'));

  }
  return $query;
}
0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.