Vlastní statusy pro články

Máte vlastní magazín, či web, na kterém pracuje více uživatelů a potřebujete přidat ke článkům statusy, které ve WordPressu nejsou? V dnešním článku si ukážeme, jak na to.

Typický příklad je obsáhlý web, na němž se podílí více uživatelů, v různých rolích. Někdo může být autor, někdo dělá korekci článků, kontroluje pravopis, vhodnost článku, či jej konečně schválí. V takovém případě je důležité dát tomu, kdo bude na článku pracovat po vás, vědět, jaký status právě má. A proto se hodí mít možnost vytvoření vlastních statusů článků.

Pro mé potřeby jsem si připravil následující statusy:

  • Nekontrolováno
  • Pravopisné chyby
  • Zamítnuto
  • Schváleno

Jako první si přidáme rozbalovací výběr statusů do metaboxu v detailu příspěvku:

add_action( 'post_submitbox_misc_actions', 'custom_status_metabox' );

Post submit box, je metabox, kde nastavujete publikaci článků. Přidáme kód pro zobrazení selectu:

function custom_status_metabox(){
global $post;
$custom  = get_post_custom($post->ID);
if(!empty($custom["_status"])){
$status  = $custom["_status"][0];
}
$i   = 0;
$custom_status = array(
'Pravopisné chyby',
'Korekce',
'Zamítnuto',
'Schváleno',
);
$html  = '
‚; $html .= ‚‚; $html .= ‚
'; 
echo $html; 
}

Výsledek:
Upravit příspěvek

Uložíme hodnotu výběru:

add_action('save_post', 'save_status');
function save_status(){
global $post;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ return $post->ID; }
if(!empty($_POST["status"])){
update_post_meta($post->ID, "_status", $_POST["status"]);
}
}

Vytvoříme styly pro barevné označení statusu:

add_action( 'admin_head', 'status_css' );
function status_css() {
echo '<style type="text/css">
.custom_status{
font-size:9px;
color:#666;
background:#e5e5e5;
padding:3px 6px 3px 6px;
-moz-border-radius:3px;
}
.pravopisne-chyby{background:#CB4BEB;color:#fff;}
.zamitnuto{background:#FF0000;color:#fff;}
.source{background:#D7E01F;color:#333;}
.schvaleno{background:#DE9414;color:#333;}
</style>';
}

Pokud bych měl jít do detailu, bylo by vhodné pomocí podmínky omezit výpis stylu jen na stránku s příspěvky. Takto se zobrazí v hlavičce administrace pokaždé.
Po uložení statusu, se zobrazí jeho název za názvem příspěvku. Pokud má příspěvek nějaký defaultní WordPress status, zobrazí se ten náš až za ním.
Příspěvky

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

2 Comments

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *