custom-post-status
Il post di oggi può sembrare solamente una trovata di colore…in effetti proprio di colore si parla 🙂 anche se a mio avviso questo tutorial può diventare utile sia al singolo blogger ma sopratutto agli amministratori di blog in cui postano diversi autori. Seguimi e ti spiego di cosa si tratta.

Etichettiamo i nostri post

Lo scopo di questo tutorial è di evidenziare tramite delle etichette colorate lo stato dei nostri post nel pannello di amministrazione in modo di averne una visione più veloce ed istantanea. Il risultato lo vedi nell’immagine qui sotto.

admin-etichette

Implementiamo il codice

Per integrare le etichette dovrai inserire il codice che vedi qui di seguito nel file functions.php che trovi nella cartella del tuo tema:

add_filter( 'display_post_states','custom_post_state');
function custom_post_state( $states ) {
	global $post;
	$show_custom_state = get_post_meta( $post->ID, '_status' );
	   if ( $show_custom_state ) {
		$states[] = __( '<span class="custom_state '.strtolower($show_custom_state[0]).'">'.$show_custom_state[0].'</span>' );
		}
	return $states;
}
add_action( 'post_submitbox_misc_actions', 'custom_status_metabox' );
function custom_status_metabox(){
	global $post;
	$custom  = get_post_custom($post->ID);
	$status  = $custom["_status"][0];
	$i   = 0;
	/* ----------------------------------- */
	/*   modifica qui i nomi delle etichette             */
	/* ----------------------------------- */
	$custom_status = array(
			'Bozza',
			'Errori',
			'Finale',
			'Corretto',
			'Importante',
		);
	echo '<div class="misc-pub-section custom">';
	echo '<label>Etichetta Post: </label><select name="status">';
	echo '<option class="default">Nessuna Etichetta</option>';
	for($i=0;$i<count($custom_status);$i++){
		if($status == $custom_status[$i]){
		    echo '<option value="'.$custom_status[$i].'" selected="true">'.$custom_status[$i].'</option>';
		  }else{
		    echo '<option value="'.$custom_status[$i].'">'.$custom_status[$i].'</option>';
		  }
		}
	echo '</select>';
	echo '<br /></div>';
}
add_action('save_post', 'save_status');
function save_status(){
	global $post;
	if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ return $post->ID; }
	update_post_meta($post->ID, "_status", $_POST["status"]);
}
add_action( 'admin_head', 'status_css' );
function status_css() {
	echo '<style type="text/css">
	.default{font-weight:bold;}
	.custom{border-top:solid 1px #e5e5e5;}
	.custom_state{
		font-size:10px;
		color:#666;
		background:#e5e5e5;
		padding:3px 6px 3px 6px;
		-moz-border-radius:3px;
		border-radius:3px;
		}
		/* ----------------------------------- */
		/*   modifica qui i colori delle etichette            */
		/* ----------------------------------- */
		.bozza{background:#FFA500;color:#000;}
		.errori{background:#FF0000;color:#fff;}
		.finale{background:#00BD00;color:#333;}
		.corretto{background:#1E90FF;color:#fff;}
		.importante{background:#4D4D4D;color:#fff;}
		</style>';
}

Potrai personalizzare nome e colore delle etichette a piacere semplicemente modificando il codice appena sotto alle righe modifica qui i nomi delle etichette e modifica qui i colori delle etichette

Per inserire un etichetta seleziona la voce nel menu a tendina che trovi nel widget Pubblica a destra nell’editor post (vedi foto sotto).

scegli-etichetta