Advertisement
pixeline

WP Custom post type on frontpage vs WPML

Aug 24th, 2013
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.05 KB | None | 0 0
  1. <?php
  2. // -------------------------
  3. // In my functions.php file...
  4. // -------------------------
  5. add_filter( 'pre_get_posts', 'my_get_posts' );
  6. function my_get_posts( $query ) {
  7.  
  8.     if ( is_home() && $query->is_main_query() )
  9.         $query->set( 'post_type', array( 'post','objet', 'etude_de_cas' ) );
  10.         $query->set('orderby','post_type date'); // sort by type, then by date.
  11.         $query->set( 'order', 'DESC' );
  12.  
  13.     return $query;
  14. }
  15.  
  16. // -------------------------
  17. // in my front-page.php file...
  18. // -------------------------
  19.  
  20. while (have_posts()) : the_post();
  21.  
  22. $count++;
  23.  
  24. $class = ($count ===1) ? 'first ' : '';
  25.  
  26. $post_type= strtolower(get_post_type( get_the_ID()));
  27.  
  28. if($current_type != $post_type){
  29.  
  30.     switch ($post_type){
  31.     case 'post':
  32.         // Tête de gondole
  33.         $section_title= _('Agencements');
  34.         $section_link= '<a href="#" class="button-black">'._('Voir tous les agencements').' &#8250;</a>';
  35.         $thumb_size= 'gondole';
  36.         $ul = '<ul class="wrap">';
  37.         $class .="teaser";
  38.         break;
  39.  
  40.     case 'etude_de_cas':
  41.         $section_title= _('étude de cas');
  42.         $section_link= '<a href="#" class="button-black">'._('Voir toutes les études de cas').' &#8250;</a>';
  43.         $thumb_size= 'gondole';
  44.         $ul = '<ul class="wrap">';
  45.         $class .="teaser";
  46.         // Etude de cas
  47.         break;
  48.  
  49.     case 'objet':
  50.         $section_title= _('Le stock');
  51.         $section_descr = _('Derniers objets');
  52.         $section_link= '';
  53.         $thumb_size= 'vignette';
  54.         $ul = '<ul id="og-grid" class="og-grid product-listing">';
  55.         $class .="latest";
  56.  
  57.     default:
  58.         // Stock
  59.         break;
  60.     }
  61.     $current_type = $post_type;
  62.     if($count>1){ ?>
  63. </ul>
  64. <hr>
  65. </section>
  66. <?php
  67.     }
  68.  
  69.     echo "\n".'<section class="row '.$class.'"><h1>'.$section_title.'</h1>';
  70.     echo (strlen($section_link)>0) ? '<p class="text-center">'.$section_link.'</p>' :'' ;
  71.     if($post_type ==='objet'){
  72.         echo bones_wpsearch();
  73.     }
  74.     echo ($section_descr!='') ? "\n<h3 class=\"aligncenter\" style=\"text-transform:uppercase\">".$section_descr.'</h3>': '';
  75.     echo $ul;
  76. }
  77. // Now render the items
  78. if($post_type==='objet'){
  79.     get_template_part( 'content', 'objet' );
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement