collaborateurs
mettre en lien des collaborateur – personnes entre elle
<?php //custom page Collaborateurs add_action( 'init', 'collaborateur_module' ); function collaborateur_module() { $args = array( 'label' => __( 'Collaborateurs', 'virtue' ), 'description' => __( 'Retrouvez tous les collaborateurs des Toises', 'virtue' ), 'labels' => $labels, 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'trackbacks', 'custom-fields', 'page-attributes', 'post-formats', ), 'taxonomies' => array( '' ), 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'rewrite' => $rewrite, 'capability_type' => 'page', ); $rewrite = array( 'slug' => 'collaborateurs', 'with_front' => true, 'pages' => true, 'feeds' => true, ); register_post_type( 'collaborateur' , $args , array( 'labels' => array( 'name' => _x( 'Membres des équipes', 'Post Type General Name', 'virtue' ), 'singular_name' => _x( 'Collaborateur', 'Post Type Singular Name', 'virtue' ), 'add_new' => __( 'Ajouter', 'virtue' ), 'add_new_item' => __( 'Ajouter un collaborateur', 'virtue' ), 'edit_item' => __( 'Editer le collaborateur', 'virtue' ), 'edit_item' => __( 'Editer le collaborateur', 'virtue' ), 'new_item' => __( 'Nouveau collaborateur', 'virtue' ), 'all_items' => __( 'Touts les collaborateurs', 'virtue' ), 'view_item' => __( 'Voir les collaborateurs', 'virtue' ), 'search_items' => __( 'Recherche collaborateur', 'virtue' ), 'not_found' => __( 'Aucun collaborateur trouvé', 'virtue' ), 'not_found_in_trash' => __( 'Aucun collaborateur dans la corbeille', 'virtue' ), 'parent_item_colon' => __( 'Parent Item:', 'virtue' ), 'menu_name' => __( 'Collaborateurs', 'virtue' ), ), 'public' => true ) ); // enregistrement de l'entité collaborateur basé sur les arguments ci-dessus //Metabox function admin_init(){ //initialisation des champs spécifiques add_meta_box("info_collaborateur", "information sur le collaborateur", "info_collaborateur", "collaborateur", "side", "low"); // Notre champ personnalisé qui appellera la fonction info_collaborateur() } function info_collaborateur($post){ // La fonction qui affiche notre champs // personnalisé dans l'administration global $post; $custom = get_post_custom($post->ID); //fonction pour récupérer la valeur de notre champ $info_collaborateur = $custom["info_collaborateur"][0]; $titrether = $custom["titrether"][0]; $poste = $custom["poste"][0]; $expertise = $custom["expertise"][0]; $approche = $custom["approche"][0]; $mot = $custom["mot"][0]; $titrepubli = $custom["titrepubli"][0]; $reference = $custom["reference"][0]; $url_pdf = $custom["url_pdf"][0]; $url_site = $custom["url_site"][0]; // les dépendances wp_enqueue_script( 'media-upload' ); wp_enqueue_script( 'thickbox' ); wp_enqueue_script( 'quicktags' ); wp_enqueue_script( 'jquery-ui-resizable' ); wp_enqueue_script( 'jquery-ui-draggable' ); wp_enqueue_script( 'jquery-ui-button' ); wp_enqueue_script( 'jquery-ui-position' ); wp_enqueue_script( 'jquery-ui-dialog' ); wp_enqueue_script( 'wpdialogs' ); wp_enqueue_script( 'wplink' ); wp_enqueue_script( 'wpdialogs-popup' ); wp_enqueue_script( 'wp-fullscreen' ); wp_enqueue_script( 'editor' ); wp_enqueue_script( 'word-count' ); wp_enqueue_style( 'thickbox' ); // mon script wp_enqueue_script( 'annelaure-meta-box-sup', get_bloginfo('template_url').'/js/annelaure-pdf.js', array( 'jquery','media-upload','thickbox' ) ); ?> <div class="tf-meta"> <ul> <li><h4>Fiche du Collaborateur</h4></li> <li><label>Titre</label> <input type="text" name="titrether" value="<?php echo $titrether; ?>" /> </li> <li><label>Poste</label> <input type="text" name="poste" value="<?php echo $poste; ?>" /> </li> <li><label>Champ d'expertise</label> <textarea style="width: 280px;" name="expertise"><?php echo $expertise; ?></textarea> </li> <li><label>Objectifs et vision</label> <textarea style="width: 280px;" name="approche"><?php echo $approche; ?></textarea> </li> <li><label>un mot sur la maladie mentale</label> <textarea style="width: 280px;" name="mot"><?php echo $mot; ?></textarea> </li> <li><label>Informations sur le collaborateur</label><br /><em>Si toute information complémentaire importantes</em> <input type="text" value="<?php echo $info_collaborateur;?>" name="info_collaborateur"/> </li> </ul> <hr> <h4>Publication Scientifiques</h4> <ul> <li><label for="titrepubli">Titre de la publication</label> <input type="text" name=" titrepubli" value="<?php echo $titrepubli; ?>" /> </li> <li><label for="reference">Référence</label> <input type="text" name="reference" value="<?php echo $reference; ?>" /> </li> <li><label for="url_site">Url de son site</label> <input id="" type="text" name="url_site" value="<?php echo $url_site; ?>" /> </li> <li> <label for="url_pdf">Sélectionner un pdf à télécharger</label><input id="url_pdf" style="width: 450px;" type="text" name="url_pdf" value="<?php echo esc_url( $url_pdf ); ?>" /><br /> <input id="upload_pdf_button" class="button-secondary" type="button" type="file" value="Télécharger un document pdf" /> </li> </ul> </div> <?php } function save_custom($post_id){ //sauvegarde des champs spécifiques global $post; if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { // fonction pour éviter le vidage des champs personnalisés lors de la sauvegarde automatique return $postID; } if(isset($_POST['titrether'])){ update_post_meta($post->ID, "titrether", sanitize_text_field($_POST["titrether"])); } if(isset($_POST['poste'])){ update_post_meta($post->ID, "poste", sanitize_text_field($_POST["poste"])); } if(isset($_POST['expertise'])){ update_post_meta($post->ID, "expertise", esc_textarea( $_POST["expertise"])); } if(isset($_POST['approche'])){ update_post_meta($post->ID, "approche", esc_textarea($_POST["approche"])); } if(isset($_POST['mot'])){ update_post_meta($post->ID, "mot", esc_textarea( $_POST["mot"])); } if(isset($_POST['info_collaborateur'])){ update_post_meta($post->ID, "info_collaborateur", $_POST["info_collaborateur"]); } if(isset($_post['url_pdf'])){ update_post_meta($post->ID, "url_pdf", $_POST["url_pdf"]); } if(isset($_POST['titrepubli'])){ update_post_meta($post->ID, "titrepubli", sanitize_text_field($_POST["titrepubli"])); } if(isset($_POST['reference'])){ update_post_meta($post->ID, "reference", sanitize_text_field($_POST["reference"])); } if(isset($_POST['url_site'])){ update_post_meta($post->ID, "url_site", esc_html($_POST["url_site"])); } //enregistrement dans la base de données } add_action("admin_init", "admin_init"); //function pour ajouter des champs personnalisés add_action('save_post', 'save_custom'); //function pour la sauvegarde de nos champs personnalisés } add_action('init', 'collaborateur_module'); $labelsCat1 = array( 'name' => _x( 'Membres ', 'post type general name' ), 'singular_name' => _x( 'Catégorie', 'post type singular name' ), 'add_new' => _x( 'Ajouter une nouvelle catégorie', 'catégorie' ), 'add_new_item' => __( 'Ajouter la catégorie' ), 'edit_item' => __( 'Modifier la catégorie' ), 'new_item' => __( 'Nouvelle catégorie' ), 'view_item' => __( 'Voir la catégorie' ), 'search_items' => __( 'Rechercher des catégories' ), 'not_found' => __( 'Aucune catégorie de membre trouvée' ), 'not_found_in_trash' => __( 'Aucune catégorie trouvée' ), 'parent_item_colon' => '' ); register_taxonomy("catégories", array("collaborateur"), array("hierarchical" => true, "labels" => $labelsCat1, "rewrite" => true)); add_action( 'init', 'collaborateur_taxonomie', 0 ); ?> <?php add_action("manage_posts_custom_column", "collabo_custom_columns"); add_filter("manage_edit-product_columns", "collabo_edit_columns"); function collabo_edit_columns($columns){ $columns = array( "cb" => "<input type="checkbox" />", "title" => "Collaborateur des Toises", "titrether" => "Titre", "poste" => "Poste occupé", "description" => "Description", ); return $columns; } function collabo_custom_columns($column){ global $post; switch ($column) { case "titrether": $custom = get_post_custom(); echo $custom["titrether"][0]; break; case "poste": $custom = get_post_custom(); echo $custom["poste"][0]; break; case "description": the_excerpt(); break; } } ?>