Status da publicação


As publicações no WordPress podem ter um entre vários status. O status de uma determinada publicação define como o WordPress lida com ela. Por exemplo, publicações públicas, visíveis para todos, recebem o status publish, enquanto os rascunhos recebem o status draft. O status é armazenado no campo post_status da tabela wp_posts.

O WordPress fornece 8 status integrados que você pode usar. O WordPress 3.0 ofereceu a capacidade de adicionar seu próprio status de publicação personalizado e usá-lo de diferentes maneiras.

Fluxo de trabalho

O WordPress fornece recursos integrados que permitem que alguns usuários (com base em suas funções e capacidades) revisem o conteúdo enviado ao site antes que ele seja publicado. Isso é comumente chamado de “fluxo de trabalho”. Os recursos de fluxo de trabalho do WordPress dependem do valor do campo post_status de uma publicação para saber em qual etapa do processo de fluxo de trabalho a publicação se encontra atualmente.

A maioria dos usuários já conhece pelo menos dois estados do fluxo de trabalho:

  • As publicações publicadas e visíveis para todos (incluindo usuários que não estão conectados) recebem o status publish.
  • Os rascunhos que ainda não foram publicados recebem o status draft.

Internamente, o WordPress define o status da publicação como publish quando você clica no botão “Publicar” e define o status como draft quando você clica no botão “Salvar rascunho”. Da mesma forma, se o seu site tiver usuários com a capacidade edit_posts, mas não a publish_posts, quando esses usuários começarem a escrever uma nova publicação, o WordPress exibirá um botão “Enviar para revisão” em vez de um botão “Publicar”. Da mesma forma, o WordPress atribui à publicação criada por esse usuário o status pending quando ele pressiona esse botão.

O status de uma publicação também pode ser definido na Tela de administração e na tela Adicionar novas publicações por qualquer usuário com a capacidade necessária para atribuir a publicação ao status determinado. Internamente, todas essas publicações são armazenadas no mesmo local (a tabela wp_posts) e são diferenciadas por uma coluna chamada post_status.

Status padrão

Há 8 status principais de publicação que o WordPress usa por padrão.

Publicada

Visível para todos. (publish)

Futura

Programada para ser publicada em uma data futura. (future)

Rascunho

Publicação incompleta, visível para qualquer pessoa com a função de usuário adequada. (draft)

Pendente

Aguardando um usuário com a capacidade publish_posts (normalmente um usuário com a função Editor) para publicar. (pending)

Privada

Visível somente para usuários do WordPress com nível de administrador. (private)

Lixeira

As publicações na lixeira recebem o status trash. (trash)

Rascunho automático

Revisões que o WordPress salva automaticamente enquanto você edita. (auto-draft)

Herdado

Usado com uma publicação filha (como anexos e revisões) para determinar o status real a partir da publicação pai. (inherit)

Status personalizado

AVISO:

Esta função NÃO adiciona o status de publicação registrado à tela de administração. Essa funcionalidade está aguardando desenvolvimento futuro. Consulte o Ticket Trac #12706.

Considere o hook de ação post_submitbox_misc_actions para adicionar este parâmetro.

Um status personalizado é um status de publicação que você define.

A adição de um status personalizado ao WordPress é feita por meio da função register_post_status(). Essa função permite definir o status da publicação e como ele funciona no WordPress.

Veja um exemplo básico de adição de um status de publicação personalizado chamado “Não lida”:

function custom_post_status(){
	register_post_status( 'unread', array(
		'label'                     => _x( 'Unread', 'post' ),
		'public'                    => true,
		'exclude_from_search'       => false,
		'show_in_admin_all_list'    => true,
		'show_in_admin_status_list' => true,
		'label_count'               => _n_noop( 'Unread (%s)', 'Unread (%s)' ),
	) );
}
add_action( 'init', 'custom_post_status' );

Recursos

Relacionado

Documentação do código

  • Função: get_post_status() – Recupera o status da publicação com base no ID da publicação.