Status do tipo de postagem personalizada

2

Estou (ainda) trabalhando em um plug-in de tipo de postagem personalizado para meu local de trabalho e encontrei um método mais fácil de marcar Visitantes (meu tipo de postagem personalizado) como "Aqui" (também check-in) ou "Não aqui" (não check-in).

Eu explorei o plug-in Editar fluxo e, para ser honesto, não consigo acompanhar o que tudo está acontecendo aqui ... No entanto, eu me deparei com uma função que parece estar no núcleo do WordPress, mas não consigo encontrar muita documentação na web (nenhuma no wordpress.org mesmo). A função é register_post_status , mas o melhor que encontrei foi este recurso que na melhor das hipóteses só me mostra os argumentos que vão com o parâmetro $args da função.

Alguém já tentou isso? Ou eu sou o único que realmente precisa de status de postagem personalizados para tipos de postagem personalizados?

EDITAR: Li e este conforme as respostas / comentários que recebi . Aqui está uma implementação da qual não tenho 100% de certeza porque falta documentação.

Eu sei que não funciona, mas eu não entendo porque ele não funciona. Nenhum dos dois status aparece na lista de status. Meu próximo curso de ação é cortá-lo com uma taxonomia e criar minha própria caixa meta "Publicar".

    register_post_status('in', array(
            'label' => _x( 'Logged In', $post_type ),
            'protected' => true,
            'label_count' => _n_noop( 'Visitors logged in <span class="count">(%s)</span>', 'Visitors logged in <span class="count">(%s)</span>' ),
            'show_in_admin_status_list' => true,
        ));

    register_post_status('out', array(
            'label' => _x( 'Logged Out', $post_type ),
            'protected' => true,
            'label_count' => _n_noop( 'Visitors logged out <span class="count">(%s)</span>', 'Visitors logged out <span class="count">(%s)</span>' ),
            'show_in_admin_status_list' => true,
        ));
    
por Zack 20.01.2011 / 20:47

2 respostas

7

Status de postagens personalizadas existem no código principal do WordPress, para que você possa registrá-las, mas elas ainda não estão adequadamente implementadas nas telas administrativas (por exemplo, não são exibidas na lista suspensa de status junto com Revisão pendente, Rascunho , Publicados). Então, basicamente, você pode fazer muito pouco com eles no momento.

Você pode ler mais sobre bilhete do Trac 12706 .

    
por Simon Blackbourn 01.02.2011 / 21:06
2

Eu fiz algo semelhante ao que o facebook faz, como quando você pode postar atualizações de status. Semelhante ao que você está tentando fazer, eu acredito. Acabei de criar um tipo de postagem personalizado que tinha apenas o trecho e o título aceitos, para usá-lo para postar os status.

O register_post_status não é o que você acha que é. Os status do post no wp são coisas como, publicar, rascunho, futuro (posts agendados) e bloqueados / privados. Eles são os status das suas postagens. Se eles são publicados ou não, o que eles podem ser definidos como.

Para mostrar quem está logado / desconectado, você pode usar um plugin para isso. Eu recomendo este por exemplo. enlace

Você também pode criar um script relativamente curto que percorra todos os usuários registrados e verifique se is_user_logged_in() por seus IDs. Isso não funcionaria para devolver os usuários que estão logados, apenas percorre todos os usuários registrados para que você possa fazer coisas com eles. Você pode descobrir uma maneira de fazer com que ele verifique is_user_logged_in () embora de alguma forma eu tenha certeza.

<?php
$wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");

foreach ( $wp_user_search as $userid ) {
    $user_id = (int) $userid->ID;

    /* use this or some other current_user() function in WP to check if user is logged 
       @is_user_logged_in();
    */
}
?>
    
por jaredwilli 30.01.2011 / 07:35