Estados de tipo de publicación personalizados

2

Estoy (aún) trabajando en un complemento de tipo de publicación personalizada para mi lugar de trabajo y encontré un método más fácil para marcar Visitantes (mi tipo de publicación personalizada) como "Aquí" (también conocido como registrado) o "No aquí" (no registrado).

He explorado el complemento Edit Flow y, para ser sincero, no puedo seguirlo. lo que está sucediendo aquí ... Sin embargo, encontré una función que parece estar en el núcleo de WordPress, pero parece que no puedo encontrar mucha documentación en la web (ninguna en wordpress.org). La función es register_post_status pero lo mejor que encontré fue este recurso que en el mejor de los casos solo me muestra los argumentos que van con el parámetro $args de la función.

¿Alguien ha probado esto alguna vez? ¿O soy el único que realmente necesita estados de publicación personalizados para tipos de publicación personalizados?

EDITAR: He leído esto y esto según las respuestas / comentarios que he recibido . Aquí hay una implementación de la que no estoy 100% seguro porque falta documentación.

Sé que no funciona, pero no entiendo por qué no funciona. Ninguno de los dos estados aparece en la lista de estados. Mi próximo curso de acción es hackearlo con una taxonomía y simplemente crear mi propia meta box '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,
        ));
    
pregunta Zack 20.01.2011 - 20:47

2 respuestas

7

Los estados de publicación personalizados existen en el código central de WordPress, por lo que puede registrarlos, pero aún no se han implementado correctamente en las pantallas de administración (por ejemplo, no se muestran en la lista desplegable de estados junto con la Revisión pendiente, Borrador , Publicado). Esencialmente, puedes hacer muy poco con ellos en este momento.

Puede leer más en ticket de Trac 12706 .

    
respondido por el Simon Blackbourn 01.02.2011 - 21:06
2

He hecho algo similar a lo que hace Facebook, como donde puedes publicar actualizaciones de estado. Similar a lo que estas tratando de hacer, creo. Acabo de crear un tipo de publicación personalizado que solo tiene el extracto y el título compatibles, para usarlo para publicar los estados.

El register_post_status no es lo que crees que es. Los estados de publicación en wp son cosas como, publicación, borrador, futuro (publicaciones programadas) y bloqueado / privado. Son los estados de tus publicaciones. Ya sea que se publiquen o no, independientemente de lo que se establezca.

Para mostrar quién está actualmente conectado / desconectado, puedes usar un complemento para eso. Recomiendo este por ejemplo. enlace

También puede crear una secuencia de comandos relativamente corta que recorra todos los usuarios registrados y verifique si is_user_logged_in() por sus ID. Esto no funcionaría para devolver a los usuarios que han iniciado sesión, simplemente recorre todos los usuarios registrados para que pueda hacer cosas con ellos. Podrías encontrar una manera de hacer que se verifique is_user_logged_in () aunque de alguna manera estoy seguro.

<?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();
    */
}
?>
    
respondido por el jaredwilli 30.01.2011 - 07:35

Lea otras preguntas en las etiquetas