Me gustaría tener una sola publicación en mi página principal (siempre la última), pero dejar que funcione la paginación normal. Entonces, la página principal tiene la publicación 1, la siguiente página debe tener la publicación 2-11 (1-10 también está bien), luego 12-21 o 11-20, y así sucesivamente. Sé que puedo cambiar la cantidad de publicaciones según el contexto , pero establecer esto en "1" en la página de inicio significa que las páginas adicionales también muestran solo una publicación.
Mi principal problema es que /page/2/funciona, pero /page/1/siempre redirige a la página de inicio real /. Esto significa que las publicaciones 2-10 siempre se omiten, ya que la página 2 muestra 11-20. Yo actualmente solucionar esto mediante la vinculación a mi archivo, pero esto no es lo ideal cuando se llega a los primeros puestos del año y hay un menor número de mensajes y no hay manera obvia de continuar.
fuente

is_front_page()conis_archive()ois_category(), creo que puedes llegar a donde necesitas estar.Ok, tal vez esta es una forma extraña o complicada de hacer esto, pero tuve un problema similar (quería mostrar un texto de bienvenida y las tres publicaciones más recientes de una categoría específica en la página principal. Así que hice:
se ve así: http://hinek.de (la página está en alemán, lo siento)
Si este podría ser el camino para usted y necesita más información o una muestra de código para la plantilla de página, comente y editaré esta publicación.
fuente
¿Asumo que estás ejecutando Wordpress 3.0.x?
Mostrar una sola publicación (en cualquier categoría) en la página principal es fácil. Úselo
query_posts('post_per_page=1')en suhome.phparchivo en lugar de invocarget_template_part('loop').Seguir los métodos de paginación normales después de eso es un poco complicado. En su
loop.phparchivo, sugiero poner<?php global $paged; ?>antes de la<?php if (have_posts()) : ?>declaración y usar la$pagedvariable y laquery_posts()función para modificar su consulta para que muestre las publicaciones correctas.Su
loop.phparchivo se vería así (nota: no probado):Solía
$paged - 1simplemente porque la página 2 mostrará las publicaciones 1 - 10, y la página 3 mostrará las publicaciones 11 - 20, y así sucesivamente.fuente
pagedparámetro no romperá nada más, como elnext_posts_link?. ¿Quizás sea mejor modificar la consulta en elpre_get_postsgancho, para que no cree una nueva consulta? Y sí, esto es WP 3.next_posts_link. La única forma de averiguarlo es probarlo, por supuesto.pagedparámetro en elpre_get_postsgancho,redirect_canonicalentra y quiere reemplazar la url con el nuevopagedparámetro. Puedo deshabilitar las redirecciones en este caso, peronext_posts_linkutiliza una$pagedvariable global que se establece en el nuevo valor, pero no sé por qué código, por lo que es incorrecto.pre_get_postsgancho, así que no puedo ser de mucha ayuda allí. Además, intente modificar la$pagedvariable directamente (ej .$paged = $paged - 1):) si le preocupanext_posts_link().Esta pregunta es un poco antigua, pero para quienes la encuentren en la era moderna, nunca deben llamar a query_posts . Desde el códice de Wordpress:
En su lugar, debe usar el
pre_get_postsgancho en functions.php de la siguiente manera:Sin embargo, tenga en cuenta que, en algunos casos (como ajustar las compensaciones de las publicaciones), el uso de un
pre_get_postsgancho puede alterar su paginación. Arreglar esto no es muy difícil, pero es algo a tener en cuenta. Hay un ejemplo de cómo solucionar esto aquí .fuente