Изначально это было написано разработчиком WordPress как способ для клиента отображать свои сообщения для каждого созданного автором поста. В данном случае у Вас могли бы быть сообщения по типу "Отклонен", "Ошибка", "Источник" и т.д. Вы можете менять сообщения сразу под комментарием "Array of custom status messages" в коде, также убедитесь, что Вы изменили названия классов, которые вы можете изменить после комментария "change color of messages below".
< ?php 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; /* ----------------------------------- */ /* Array of custom status messages */ /* ----------------------------------- */ $custom_status = array('Spelling', 'Review', 'Errors', 'Source', 'Rejected', 'Final', ); echo '<div class="misc-pub-section custom">'; echo '<label>Custom status: </label><select name="status">'; echo '<option class="default">Custom status</option>'; echo '<option>-----------------</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] . ''; } 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:9px; color:#666; background:#e5e5e5; padding:3px 6px 3px 6px; -moz-border-radius:3px; } /* ----------------------------------- */ /* change color of messages below */ /* ----------------------------------- */ .spelling{background:#4BC8EB;color:#fff;} .review{background:#CB4BEB;color:#fff;} .errors{background:#FF0000;color:#fff;} .source{background:#D7E01F;color:#333;} .rejected{background:#000000;color:#fff;} .final{background:#DE9414;color:#333;} </style>'; } ?> |