Or, embed this snippet using GenerateWP WordPress Plugin.

Download

Clone

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;
	}
}

?>