¿Mostrar publicaciones de solo una categoría específica en la sección de Administración de WP?

11 jul 2016, 16:16:21
Vistas: 18.4K
Votos: 2

Quiero agregar un nuevo punto de menú a las publicaciones que muestre solo las publicaciones de una categoría determinada. Agregar una nueva página es fácil si es solo un nuevo tipo de publicación. Pero quiero mostrar solo publicaciones con una categoría específica y al actualizar las publicaciones, asegurarme de que la categoría esté marcada.

¿No hay manera de hacer esto? Esperaba alguna función simple, como lo hace register_post_type(). Como parece que no la hay, ¿alguien puede darme algún consejo sobre cómo hacer esto? ¿Es incluso posible? ¿O debería simplemente usar un tipo de publicación personalizado?

8
Comentarios

¡Sí, por supuesto que es posible listar publicaciones de una categoría específica! Pero para aclarar tu problema, ¿puedes explicar qué quieres decir con "quiero añadir un nuevo punto de menú"?

TheDeadMedic TheDeadMedic
11 jul 2016 16:48:50

Quiero una página exactamente como la de "Todas las entradas", pero que solo muestre registros de la categoría x. También quiero usar el filtro de actualización de entradas para asegurarme de que en esta página los elementos tengan seleccionada la categoría x. Sé que existe el parámetro de consulta "cat", pero ¿cómo puedo añadir una nueva página como subpágina de entradas que solo liste las publicaciones de la categoría x???

¿Algo como esto tal vez??? wp_create_list_table({cat: 'x'}); Puedo ver cómo añadir una subpágina, pero tengo que crear el contenido manualmente... ¿pero cómo??? ¿Qué métodos necesito llamar para hacer todo lo que hace la página de todas las entradas?

Arnold Rimmer Arnold Rimmer
11 jul 2016 17:38:05

Solo para aclarar, esto es para el backend (administración) no para el front end.

Arnold Rimmer Arnold Rimmer
11 jul 2016 17:51:11

Disculpa si ya respondiste esto y no capté la respuesta, o si estoy entendiendo mal tu problema. Pero ¿por qué no podrías simplemente usar el filtro de categoría desde el listado de todas las publicaciones?

Jeff Cohan Jeff Cohan
11 jul 2016 22:10:04

Porque algunos clientes quieren una página separada para la categoría, tienen muchas publicaciones. Les sugerí usar ese filtro pero simplemente quieren un enlace a una página que ya esté configurada.

Arnold Rimmer Arnold Rimmer
12 jul 2016 10:22:13

La respuesta de Milo hace lo que quieres, pero ¿por qué no usar un tipo de publicación personalizado? Si las publicaciones en esa categoría son completamente distintas a otras publicaciones, tiene sentido que deberían estar en su propio tipo de publicación.

Andy Andy
13 jul 2016 15:44:46

Sí, lo pensé pero no estaba seguro si era necesario. ¿Es normal que los sitios WP creen muchos tipos de entradas personalizadas? Pensé que tal vez solo deberías hacerlo si es absolutamente necesario. Vengo de un entorno TYPO3, así que todavía estoy tratando de descubrir la forma de hacer las cosas en Wordpress. Gracias por tu ayuda, acepté la respuesta de Milos para esto.

Arnold Rimmer Arnold Rimmer
14 jul 2016 16:25:15

Yo siempre usaría un tipo de entrada personalizada en casos como este. En lugar de cuestionar si un tipo de entrada personalizada es necesario, me preguntaría por qué es necesario crear una página de administración separada para publicaciones en cierta categoría cuando puedo usar un tipo de entrada personalizada para lograr exactamente la funcionalidad requerida. Por esto WordPress añadió los tipos de entradas personalizadas :)

Andy Andy
25 jul 2016 23:40:07
Mostrar los 3 comentarios restantes
Todas las respuestas a la pregunta 3
0

Puedes filtrar la lista de publicaciones añadiendo ?category_name=xx a la URL de la lista de publicaciones en el administrador, y puedes agregar una página de submenú con esa URL como destino mediante add_submenu_page:

add_action( 'admin_menu', 'wpd_admin_menu_item' );
function wpd_admin_menu_item(){
    add_submenu_page(
        'edit.php',
        'Título de la página', // Page title
        'Título del elemento del menú', // Menu item title
        'edit_posts', 
        'edit.php?category_name=somecat' // URL para filtrar por categoría
    );
}
11 jul 2016 18:29:41
2

Puedes recorrer publicaciones por nombre de categoría o ID:

$query = new WP_Query( array( 'category_name' => 'staff' ) );

o

$query = new WP_Query( array( 'cat' => 4 ) );

y simplemente usa la forma clásica de recorrer:

if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
        get_title();
    endwhile;
else :
    echo 'No hay publicaciones';
endif;

Necesitas crear una nueva plantilla personalizada, obtener el ID de la categoría, configurar el ID en el nuevo WP_Query y recorrerlo.

Aquí hay una documentación sobre cómo usar WP_Query()

11 jul 2016 17:36:58
Comentarios

Gracias, conozco la consulta. Estoy buscando no hacer todo manualmente, debe haber algún método API que dibuje las páginas de "todas las entradas" o "páginas", al que pueda simplemente proporcionar algún tipo de argumento para mostrar solo las publicaciones que están en la categoría "x".

Arnold Rimmer Arnold Rimmer
11 jul 2016 17:43:56

Realmente no conozco ningún plugin para eso. Creo que existen pero necesitas buscar. Algunas plantillas lo soportan pero mi sugerencia para ti es que simplemente crees una nueva plantilla personalizada, copies 1:1 algún código original de tu plantilla y solo ajustes el código de la consulta.

Ivijan Stefan Stipić Ivijan Stefan Stipić
11 jul 2016 17:55:26
0

El plugin Category Posts Widget puede hacer esto. https://wordpress.org/plugins/category-posts/

Category Posts Widget es un widget ligero diseñado para hacer una cosa y hacerla bien: mostrar las publicaciones más recientes de una categoría específica.

Documentación sobre cómo usarlo.

y

Si quieres ver cómo lo hicieron, este es su repositorio de GitHub.

15 feb 2017 18:10:34