Tengo un cliente cuyo sitio hará un uso intensivo de los tipos de publicaciones personalizadas para configurar su sitio. Pero estoy entre una roca y un lugar difícil para la página de inicio solicitada.
En realidad, la página de inicio será una pila de "páginas" específicas dentro de WordPress. Básicamente, habrá páginas para: Introducción , Blog , Acerca de nosotros , Portafolio y Contáctenos . Todos se apilarán uno encima del otro para que pueda desplazarse de una página a otra.
Mi primer instinto fue simplemente usar una página (llamada Inicio ) e incrustar un código corto que acepta slugs de página y genera el orden correcto (es decir [pageOrder]intro, blog, about-us, portfolio, contact-us[/pageOrder]
). La página usaría una plantilla de página personalizada para diseñar cosas, controlar el bucle y agregar navegación al lado izquierdo de la página. Pero todo eso parece extraño.
Mi solución ideal sería crear un tipo de publicación personalizado (llamado Pila ) que permita al usuario final colocar las páginas con arrastrar y soltar y hacer que el CPT se encargue del diseño y la navegación y demás.
El problema con mi solución ideal es la configuración. WordPress le permite seleccionar una página para la página de inicio predeterminada del sitio. Pero está vinculado a un tipo de página de publicación , y no estoy seguro de dónde conectarlo para modificarlo para que los usuarios también puedan seleccionar una Pila como la página de inicio predeterminada.
Entonces, ¿dónde me conecto para agregar un CPT al menú desplegable de páginas disponibles para la página de inicio predeterminada?
post_type
que no esté configurado y quepage_id
no sea 0) evita todos los 404. Ahora puedo ejecutar consultas para todas mis publicaciones personalizadas, todas mis publicaciones y todas mis páginas sin ninguna interferencia.¿Tal vez sea así? Versión refinada de mi solución anterior .
fuente
¿Por qué no simplemente crear un
front-page.php
archivo de plantilla, que utiliza una consulta / bucle normal o (si se configura una opción de tema personalizado para mostrar el CPT en la página principal), genera una consulta / bucle personalizado, basado en el CPT?El problema es que tendrías que crear una opción de tema separada para controlar la salida de la página principal, al mismo tiempo que se indica a los usuarios que configuren la página principal en página estática.
Para facilitar las cosas, puede conectar su opción de Tema a la configuración de lectura, utilizando el grupo de opciones "Lectura" en su llamada a
register_setting
través de la API de Configuración, para que se muestre con las opciones existentes de la Página Principal.fuente
front-page.php
se selecciona automáticamente porque es parte de la jerarquía de plantillas de WordPress. No es necesario recordar por qué sucede esto (o necesita marcarlo para la próxima persona).Creo que algo puede haber cambiado desde que EAMann escribió su actualización en 2011, y la función wpa18013_add_pages_to_dropdown () que suministra ya no funciona. Como se menciona en un comentario de Dameer, esta función actualmente (diciembre de 2013) arroja un error "Falta el argumento 2 para wpa18013_add_pages_to_dropdown ()"
La solución, para mí de todos modos, fue reescribir la función sin ese segundo parámetro, o verificar su contenido. El bloque completo de código se convierte en:
Tenga en cuenta que en el ejemplo anterior, el tipo de publicación personalizada que estoy agregando es "unbox_tabs" en lugar de "stack".
fuente
Estoy usando esta tecnica para incluir una plantilla de un complemento. Entonces, la solución de @ ChipBennett no se aplica.
Para agregar los CPT ( ) del complemento en la lista de páginas estáticas, modifiqué la solución de @ EAMann de la siguiente manera:
'hierarchical' => 'false'
Referencia central v3.4.2:
ligera diferencia de números de línea en 3.5 RC3, pero el código sigue siendo el mismo
fuente