Advertisement
Guest User

custom post références

a guest
Feb 26th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.08 KB | None | 0 0
  1. function ipe_references() {
  2. $labels = array(
  3.  'name' => _x( 'Référence', 'Post Type General Name', 'ipe' ),
  4.  'singular_name' => _x( 'Référence', 'Post Type Singular Name', 'ipe' ),
  5.  'menu_name' => __( 'Références', 'ipe' ),
  6.  'parent_item_colon' => __( 'Référence parent :', 'ipe' ),
  7.  'all_items' => __( 'Toutes les références', 'ipe' ),
  8.  'view_item' => __( 'Voir la référence', 'ipe' ),
  9.  'add_new_item' => __( 'Ajouter une référence', 'ipe' ),
  10.  'add_new' => __( 'Nouvelle référence', 'ipe' ),
  11.  'edit_item' => __( 'Editer une référence', 'ipe' ),
  12.  'update_item' => __( 'Mettre à jour la référence', 'ipe' ),
  13.  'search_items' => __( 'Rechercher des références', 'ipe' ),
  14.  'not_found' => __( 'Aucune référence trouvée', 'ipe' ),
  15.  'not_found_in_trash' => __( 'Aucune référence trouvée dans la corbeille', 'ipe' ),
  16.  );
  17.  $rewrite = array(
  18.  'slug' => 'references',
  19.  'with_front' => true,
  20.  'pages' => false,
  21.  'feeds' => false,
  22.  );
  23.  $args = array(
  24.  'label' => __( 'reference', 'ipe' ),
  25.  'description' => __( 'Les références IPE', 'ipe' ),
  26.  'labels' => $labels,
  27.  'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
  28.  'taxonomies' => array( 'type' ),
  29.  'hierarchical' => false,
  30.  'public' => true,
  31.  'show_ui' => true,
  32.  'show_in_menu' => true,
  33.  'show_in_nav_menus' => true,
  34.  'show_in_admin_bar' => true,
  35.  'menu_position' => 20,
  36.  'menu_icon' => get_bloginfo('stylesheet_directory') . '/images/ipe-icon.png',
  37.  'can_export' => true,
  38.  'has_archive' => true,
  39.  'exclude_from_search' => true,
  40.  'publicly_queryable' => true,
  41.  'query_var' => 'reference',
  42.  'rewrite' => $rewrite,
  43.  'capability_type' => 'page',
  44.  );
  45.  register_post_type( 'reference', $args );
  46. }
  47. add_action( 'init', 'ipe_references', 0 );
  48.  
  49. /* Type de la référence */
  50. function ct_ntp_type() {
  51. $labels = array(
  52.  'name' => _x( 'Types', 'Taxonomy General Name', 'ipe' ),
  53.  'singular_name' => _x( 'Type', 'Taxonomy Singular Name', 'ipe' ),
  54.  'menu_name' => __( 'Types de références', 'ipe' ),
  55.  'all_items' => __( 'Tous les types', 'ipe' ),
  56.  'parent_item' => __( 'Type parent', 'ipe' ),
  57.  'parent_item_colon' => __( 'Type parent :', 'ipe' ),
  58.  'new_item_name' => __( 'Nouveau type', 'ipe' ),
  59.  'add_new_item' => __( 'Ajouter un type', 'ipe' ),
  60.  'edit_item' => __( 'Editer un type', 'ipe' ),
  61.  'update_item' => __( 'Mettre à jour', 'ipe' ),
  62.  'separate_items_with_commas' => __( 'Séparer les types par des virgules', 'ipe' ),
  63.  'search_items' => __( 'Rechercher des types', 'ipe' ),
  64.  'add_or_remove_items' => __( 'Ajouter ou supprimer des types', 'ipe' ),
  65.  'choose_from_most_used' => __( 'Choisir parmi les types les plus utilisés', 'ipe' ),
  66.  );
  67.  $rewrite = array(
  68.  'slug' => 'type',
  69.  'with_front' => true,
  70.  'hierarchical' => true,
  71.  );
  72.  $args = array(
  73.  'labels' => $labels,
  74.  'hierarchical' => true,
  75.  'public' => true,
  76.  'show_ui' => true,
  77.  'show_admin_column' => true,
  78.  'show_in_nav_menus' => true,
  79.  'show_tagcloud' => true,
  80.  'query_var' => 'type',
  81.  'rewrite' => $rewrite,
  82.  );
  83.  register_taxonomy( 'type', 'reference', $args );
  84. }
  85. add_action( 'init', 'ct_ntp_type', 0 );
  86.  
  87. /* Ajout des termes dans les classes CSS des éléments des références IPE */
  88. function item_reference_class( $classes, $class, $ID ) {
  89.  $taxonomy = 'type';
  90.  $terms = get_the_terms( (int) $ID, $taxonomy );
  91.  if( !empty( $terms ) ) {
  92.  foreach( (array) $terms as $order => $term ) {
  93.  if( !in_array( $term->slug, $classes ) ) {
  94.  $classes[] = $term->slug;
  95.  }
  96.  }
  97.  }
  98.  return $classes;
  99. }
  100. add_filter('post_class', 'item_reference_class', 10, 3);
  101.  
  102. /* Ajout du JavaScript isotope sur les références */
  103. function ntp_isotope_js() {
  104.  if (!is_admin() && is_post_type_archive('reference')) { ?>
  105.  <script>
  106.  jQuery(function($) {
  107.  $(window).load(function() {
  108.  
  109.  /* Code principal */
  110.  function ntp_portfolio_isotope() {
  111.  var $container = $('#portfolio-list');
  112.  $container.imagesLoaded(function(){
  113.  $container.isotope({
  114.  itemSelector: '.item-portfolio',
  115.  layoutMode: 'fitRows',
  116.    fitRows: {
  117.     columnWidth: container.$('.grid-sizer'),
  118.     gutterWidth : 20
  119.   }
  120.  });
  121.  });
  122.  } ntp_portfolio_isotope();
  123.  
  124.  /* Filtre */
  125.  $('.filter a').click(function() {
  126.  var selector = $(this).attr('data-filter');
  127.  $('#portfolio-list').isotope({ filter: selector });
  128.  $(this).parents('ul').find('a').removeClass('active');
  129.  $(this).addClass('active');
  130.  return false;
  131.  });
  132.  
  133.  /* Redimensionnement */
  134.  var isIE8 = $.browser.msie && +$.browser.version === 8;
  135.  if (isIE8) {
  136.  document.body.onresize = function () {
  137.  ntp_portfolio_isotope();
  138.  };
  139.  } else {
  140.  $(window).resize(function () {
  141.  ntp_portfolio_isotope();
  142.  });
  143.  }
  144.  
  145.  /* Orientation */
  146.  window.addEventListener("orientationchange", function() {
  147.  ntp_portfolio_isotope();
  148.  });
  149.  
  150.  });
  151.  });
  152. </script>
  153.  
  154. <?php } }
  155.  
  156. /*** chargement isotope.js ****/
  157.  
  158. function iso_js() {
  159.  if (!is_admin()) {
  160.  
  161. wp_register_script('isotope',  get_stylesheet_directory_uri().'/js/jquery.isotope.min.js', 'jquery', '1.5.19', true);if (is_post_type_archive('reference')) {
  162.  wp_enqueue_script('isotope');
  163.  }
  164.  }
  165. }
  166. add_action('wp_enqueue_scripts', 'iso_js');
  167.  
  168. add_action ('wp_footer', 'ntp_isotope_js');
  169. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement