¿Cómo personalizo qué estados están disponibles en Nelio Content?

La configuración inicial de Nelio Content usa únicamente los estados que están definidos por defecto en WordPress:

  • Borrador
  • Pendiente de revisión
  • Programado
  • Publicado

Si quieres usar otros estados para algún tipo de contenido concreto, debes añadirlo usando el filtro nelio_content_post_statuses. Por ejemplo, supón que en tu web tienes un nuevo estado llamado «En progreso» (con el identificador in-progress) para que tus editores puedan saber de un vistazo que el autor de una entrada ya está trabajando en ella. En principio, se supone que este nuevo estado se habrá registrado en WordPress usando la función register_post_status, pero si quieres que aparezca en las entradas que creas desde el calendario de Nelio Content deberás hacer lo siguiente:

add_filter(
  'nelio_content_post_statuses',
  function ( $statuses, $post_type ) {
    if ( 'post' !== $post_type ) {
      return $statuses;
    }
    $statuses[] = array(
      'slug'   => 'in-progress',
      'name'   => 'In Progress',
      'icon'   => 'format-status',
      'colors' => array(
        'main'       => '#f9d510',
        'background' => '#fffdf1',
      ),
    );
    return $statuses;
  },
  10,
  2
);

Formato de un estado

Fíjate que el estado que registras en el filtro de Nelio Content tiene un formato particular. En concreto, todos los elementos (esto es, estados) que hay en la lista $statuses deben ser un array con la siguiente forma:

  • slug (string) Obligatorio. El nombre interno del estado.
  • name (string) Obligatorio. El nombre del estado según lo verán los usuarios de tu web.
  • icon (string) Opcional. El identificador de un icono de tipo Dashicon.
  • colors (array) Opcional. Los colores con los que se mostrarán las entradas que tengan este estado. Los colores que puedes definir son los siguientes pares clave/valor:
    • main (string) Opcional. El color del border superior del elemento contenedor.
    • background (string) Opcional. El color de fondo del elemento contenedor.