Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo Crear Plantillas Personalizadas para Publicaciones Únicas en WordPress

Uno de nuestros lectores nos preguntó cómo crear plantillas personalizadas para entradas individuales en WordPress.

En WPBeginner, hemos ayudado a muchos propietarios de sitios web a mejorar sus blogs con diseños únicos para entradas individuales. Las plantillas personalizadas para entradas individuales te permiten usar diferentes diseños para tus entradas de blog, dándole a cada una un aspecto distintivo. Muchos temas de WordPress ofrecen algunas plantillas de página, pero también puedes crear las tuyas si es necesario.

En este artículo, te mostraremos varios métodos para crear fácilmente plantillas personalizadas para entradas individuales en WordPress, para que puedas elegir la que mejor se adapte a tus necesidades.

Cómo Crear Plantillas Personalizadas para Publicaciones Únicas en WordPress

¿Cuándo necesitas una plantilla personalizada para entradas individuales?

A veces, es posible que desees un aspecto y una sensación diferentes para ciertas entradas en tu sitio web de WordPress. Por ejemplo, es posible que desees usar un diseño diferente para artículos destacados o historias de una categoría en particular.

Aquí es donde necesitas una plantilla personalizada para entradas individuales en WordPress.

Por defecto, WordPress utiliza la plantilla de entrada individual basada en la jerarquía de plantillas de WordPress. Todos los temas vienen con una plantilla single.php, y esta es utilizada por defecto para todas tus entradas individuales.

Algunos temas también pueden incluir plantillas adicionales o opciones de diseño que puedes usar.

Es muy parecido a crear una plantilla de página personalizada. La mayoría de los temas de WordPress también vienen con plantillas de página que puedes usar mientras editas una entrada o página en WordPress.

Elegir una plantilla de página

Dicho esto, veamos cómo crear fácilmente plantillas personalizadas para entradas individuales en WordPress. Te mostraremos varios métodos, para que puedas usar el que mejor te funcione.

Creación de plantillas para entradas individuales usando el editor de bloques

Este método en realidad no crea una plantilla de entrada y es limitado en flexibilidad. Sin embargo, es la forma más fácil de guardar tus propios diseños de entradas individuales y luego reutilizarlos.

El editor de bloques de WordPress predeterminado viene con una función integrada que te permite guardar y reutilizar bloques. Uno de esos bloques reutilizables es el bloque de grupo.

El bloque de grupo te permite agrupar varios bloques y diseños de entradas completos en uno solo. Luego puedes guardar este bloque de grupo y reutilizarlo en tus otras entradas.

Veamos cómo usar el bloque de grupo para guardar tus plantillas de entradas personalizadas.

Primero, necesitas crear una nueva entrada en WordPress. Después de eso, simplemente agrega un bloque de grupo al área de contenido.

Agregar bloque de grupo

Ahora puedes empezar a agregar bloques dentro del bloque de grupo para crear un diseño de entrada individual para tu blog de WordPress.

Puedes agregar cualquier bloque que desees, incluyendo columnas, medios y texto, imágenes de portada, y más.

Agregar bloques al grupo

Una vez que estés satisfecho con el diseño que has creado, necesitas mover el ratón hacia arriba y seleccionar el bloque de grupo.

Simplemente haz clic en el ícono del menú de tres puntos y luego selecciona la opción 'Agregar a bloques reutilizables'.

Agregar bloque reutilizable

A continuación, deberás proporcionar un nombre para el bloque reutilizable y luego hacer clic en el botón Guardar. WordPress ahora guardará tu bloque reutilizable, incluyendo todos los bloques dentro del bloque de grupo.

Luego, puedes editar cualquier publicación existente en tu sitio web o crear una nueva. En la pantalla de edición de publicaciones, simplemente haz clic en el botón de agregar nuevo bloque y busca tu bloque guardado en la pestaña 'Reutilizables'.

Reutilizar bloque

Agrega el bloque a tu publicación y WordPress cargará tu bloque de grupo completo con todos los bloques y configuraciones tal como los guardaste.

Este método te permite guardar tus diseños personalizados. Sin embargo, no te permite cambiar cómo tu tema maneja las publicaciones individuales.

Si deseas mayor flexibilidad, continúa leyendo el siguiente paso.

Creación de Plantillas Personalizadas para Publicaciones Individuales Usando SeedProd

La forma más fácil de crear una plantilla personalizada para publicaciones individuales es usando SeedProd. Es el mejor plugin constructor de sitios web para WordPress y puede crear hermosos diseños de sitios web y plantillas personalizadas sin escribir código.

Puedes usar el constructor de arrastrar y soltar de SeedProd para crear un tema de WordPress completamente personalizado, incluyendo plantillas personalizadas para publicaciones individuales.

Lo primero que necesitas hacer es instalar y activar el plugin SeedProd. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Tras la activación, necesitas ingresar tu clave de licencia. Puedes encontrar esta información en tu cuenta en el sitio web de SeedProd.

Clave de licencia de SeedProd

Después de eso, es hora de crear un tema personalizado de WordPress. Esto es mucho más simple de lo que parece.

Creación de un Tema Personalizado de WordPress

Primero, necesitas ir a la página SeedProd » Theme Builder. Aquí, usarás uno de los temas pre-diseñados de SeedProd como punto de partida. Esto reemplazará tu tema actual de WordPress con un diseño nuevo y personalizado.

Puedes hacer eso haciendo clic en el botón 'Temas'.

Crea tu tema personalizado

Se te mostrará una lista de temas diseñados profesionalmente para diferentes tipos de sitios web. Por ejemplo, hay plantillas llamadas 'Negocio Moderno', 'Agencia de Marketing' y 'Tema para Agente Hipotecario'.

Echa un vistazo a las opciones y selecciona la que mejor se adapte a tus necesidades haciendo clic en el ícono de la marca de verificación.

Selecciona un tema que se ajuste a tus necesidades

Una vez que hayas elegido un tema, SeedProd generará todas las plantillas de tema que necesitas, incluyendo una para páginas individuales y otra para publicaciones individuales.

Cada plantilla viene configurada con diseños atractivos y contenido de marcador de posición que es fácil de personalizar.

SeedProd crea todas las plantillas que necesitas para tu tema

Para obtener más información sobre cómo crear un tema con SeedProd, consulta nuestra guía sobre cómo crear fácilmente un tema personalizado de WordPress sin código.

Personalización de la plantilla predeterminada de entrada única

SeedProd facilita la personalización de la plantilla predeterminada de 'Entrada única' utilizando un constructor de páginas de arrastrar y soltar.

Simplemente haz clic en el enlace 'Editar diseño' que se encuentra debajo de la plantilla. Esto abrirá tu plantilla de entrada en el editor visual de SeedProd.

Haz clic en el enlace 'Editar diseño' debajo de la plantilla de publicación única

El editor visual de SeedProd tiene un diseño de 2 columnas. A la izquierda, encontrarás bloques y secciones que puedes agregar a tu diseño.

A la derecha hay una vista previa de la plantilla donde puedes ver tus cambios en tiempo real.

Bloques y secciones del editor visual de SeedProd

También es fácil personalizar el diseño de tu plantilla de entrada. Simplemente haz clic en cualquier bloque para ver su configuración en la columna izquierda.

Por ejemplo, si haces clic en el título de la entrada, podrás ver su configuración. Ahora puedes cambiar la alineación, el tamaño de fuente, el nivel del encabezado y más.

Haz clic en un bloque para cambiar su configuración

Al hacer clic en la pestaña Avanzado, puedes cambiar los colores de fuente, el espaciado y otros estilos.

Puedes agregar bloques adicionales arrastrándolos desde la columna izquierda a la columna de vista previa. SeedProd utiliza etiquetas de plantilla para extraer contenido dinámico como títulos de entradas, imágenes destacadas, comentarios y más. Esto te permite agregar contenido a la plantilla sin tener que editar cada entrada individualmente.

Por ejemplo, puedes agregar un bloque de Entradas al final del contenido de tu entrada. Esto mostrará las entradas recientes que tus visitantes podrían desear leer cuando terminen la entrada actual. Este bloque se mostrará automáticamente en todas las entradas que utilicen esta plantilla.

Agrega un Bloque de Publicaciones al Final de tu Plantilla de Publicaciones Individuales

A continuación, puedes cambiar la configuración del bloque de Entradas para personalizar el contenido que se muestra.

Por ejemplo, puedes mostrar contenido de categorías específicas, usar un diseño de dos columnas y cambiar el número de entradas que se muestran.

Configuración del Bloque de Publicaciones de SeedProd

Siéntete libre de pasar tiempo experimentando con diferentes bloques y explorando sus configuraciones.

Después de crear algo que te gustaría usar como tu plantilla de publicación, es hora de guardarlo haciendo clic en el botón verde ‘Guardar’ en la esquina superior derecha. Después de eso, puedes cerrar el editor visual de SeedProd haciendo clic en el ícono de cierre ‘X’.

Cuando Termines, Guarda la Plantilla de Publicaciones Individuales

Puedes personalizar el resto de tu tema de WordPress de la misma manera. Pero si necesitas un poco de ayuda, consulta nuestra guía paso a paso sobre cómo crear un tema personalizado de WordPress con SeedProd.

Cuando estés satisfecho con cómo se ve todo, asegúrate de que el interruptor ‘Habilitar tema de SeedProd’ esté activado. Tu sitio de WordPress ahora usará tu tema de SeedProd y la plantilla personalizada de publicación única.

Habilita el tema de SeedProd

Usando la configuración del tema para crear diseños personalizados de publicaciones individuales

Muchos temas populares de WordPress vienen con configuraciones integradas para personalizar la apariencia de tu plantilla de publicación individual.

Si tu tema admite estas configuraciones, podrás encontrarlas en la pantalla de edición de la publicación. Las opciones disponibles pueden cambiar según el tema que estés utilizando.

Por ejemplo, el tema Astra ofrece opciones de personalización al editar una publicación individual. Usando estas opciones, puedes cambiar barras laterales, ocultar encabezados, títulos, menús y más.

Personalización de la Plantilla de Publicaciones Individuales del Tema Astra

Por otro lado, muchos de los mejores temas de WordPress vienen con plantillas listas para usar que puedes emplear.

Si tu tema incluye plantillas de publicación individual, las encontrarás en el panel 'Plantilla' o 'Atributos de la publicación' mientras editas una publicación.

Elegir una Plantilla al Escribir una Publicación Individual

Estas plantillas son diseños completos que puedes usar sin necesidad de configuración.

Creación manual de plantillas personalizadas de publicaciones individuales con código

Este método es un poco avanzado, ya que requiere editar archivos del tema, copiar y pegar código, y opcionalmente agregar CSS personalizado. Si no lo has hecho antes, consulta nuestro tutorial sobre cómo copiar y pegar código en WordPress.

Primero, necesitas abrir un editor de texto plano en tu computadora, como el Bloc de notas, y pegar el siguiente código en él:

<?php
/*
 * Template Name: Featured Article
 * Template Post Type: post, page, product
 */
  
 get_header();  ?>

Este código define una nueva plantilla llamada ‘Artículo Destacado’ y la pone a disposición para los tipos de publicación de entrada, página y producto tipos de publicación.

Debes guardar este archivo como wpb-single-post.php en tu escritorio. Luego, necesitas agregar la plantilla a tu sitio de WordPress. Para hacerlo, necesitas usar un cliente FTP para subir el archivo a la carpeta de tu tema actual.

Ahora, puedes iniciar sesión en tu área de administración de WordPress y crear o editar una entrada. Desplázate un poco hacia abajo en la pantalla de edición de la entrada, y notarás un nuevo panel de ‘Plantilla’ o un cuadro meta de ‘Atributos de la entrada’ con una opción para seleccionar la plantilla.

Selecciona tu Plantilla de Publicaciones Personalizada

Verás tu plantilla personalizada ‘Artículo Destacado’ listada allí.

En este momento, tu plantilla está esencialmente vacía, por lo que seleccionarla simplemente mostrará una pantalla en blanco.

Vamos a arreglar esto.

La forma más fácil de hacerlo es copiando el código del archivo single.php de tu tema y usándolo como punto de partida. Tendrás que abrir el archivo single.php y luego copiar todo después de la línea get_header().

A continuación, necesitas pegar este código al final de tu archivo wpb-single-post.php. Ahora puedes guardar este archivo y subirlo de nuevo a tu servidor.

Sin embargo, esto se verá exactamente igual que tu plantilla actual de entrada única. Ahora puedes empezar a hacer cambios en tu plantilla personalizada de entrada única.

Puedes agregar tus propias clases de CSS personalizado, eliminar barras laterales, crear una plantilla de ancho completo, o lo que quieras.

Creación de plantillas personalizadas para publicaciones individuales por categoría

¿Te gustaría usar una plantilla personalizada para publicaciones individuales basada en categorías? Por ejemplo, puedes dar a las publicaciones de la categoría de viajes un diseño diferente al de las publicaciones de la categoría de fotografía.

Puedes hacer eso usando el Theme Builder de SeedProd o código.

Creación de plantillas personalizadas para publicaciones individuales por categoría usando SeedProd

Anteriormente, cubrimos cómo personalizar la plantilla predeterminada para publicaciones individuales del Theme Builder de SeedProd. Pero no se detiene ahí. Con SeedProd, puedes agregar tantas plantillas de publicación personalizadas como desees, como un diseño diferente para cada categoría de publicación.

Para agregar una nueva plantilla de publicación individual, simplemente haz clic en el enlace ‘Duplicar’ debajo de la plantilla de publicación original. Se creará una nueva plantilla llamada 'Single Post – Copy' y se agregará a la parte superior de la página de plantillas del tema.

Crea una Nueva Plantilla de Publicaciones Duplicando la Plantilla de Publicaciones Predeterminada

Puedes personalizar la nueva plantilla de la misma manera que personalizaste la plantilla predeterminada de Publicación única anteriormente. Simplemente haz clic en el enlace ‘Editar diseño’ de la plantilla y realiza los cambios que desees utilizando el editor visual de SeedProd.

Cuando hayas terminado de personalizar la plantilla, deberás agregar algunas condiciones para que SeedProd sepa qué publicaciones deben usar esta plantilla. En este caso, queremos que se muestre al ver publicaciones dentro de una sola categoría.

Haz clic en el Enlace 'Editar Condiciones'

Puedes hacer eso haciendo clic en el enlace ‘Editar condiciones’ de la plantilla y aparecerá una nueva ventana.

Aquí, puedes darle un nombre y una prioridad a la plantilla. La plantilla predeterminada de Publicación única tiene una prioridad de 0, así que asegúrate de darle a esta plantilla una prioridad más alta para que se muestre en las categorías coincidentes.

Agrega Condiciones para Mostrar la Plantilla para una Cierta Categoría

En ‘Condiciones’, selecciona ‘Tiene categoría’ del segundo menú desplegable, luego escribe el nombre de la categoría en el último campo. Por ejemplo, si solo quieres que las publicaciones de la categoría de fotografía usen este diseño, escribe ‘fotografía’.

Cuando hayas terminado, haz clic en el botón ‘Guardar’ y ahora esta plantilla se usará para todas las publicaciones de la categoría coincidente.

Esta es la forma más fácil de crear múltiples plantillas de publicación personalizadas en WordPress. No requiere ningún conocimiento de código y no estropeará accidentalmente ningún archivo del tema.

Creación de plantillas personalizadas de publicación única por categoría usando código

Este es otro método para aquellos que se sienten cómodos agregando código a los archivos de su tema.

Primero, necesitas agregar este código al archivo functions.php de tu tema o a un plugin de fragmentos de código.

/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
 
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :
 
if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';
 
endforeach;
}

Este código primero verifica si WordPress está solicitando una sola publicación. Si es así, le indica a WordPress que busque la plantilla en la carpeta /single/ de tu tema de WordPress.

Ahora, necesitas agregar los archivos de plantilla definidos por este código.

Conéctate a tu hosting de WordPress usando un cliente FTP o el Administrador de Archivos en cPanel y ve a /wp-content/themes/tu-carpeta-de-tema/.

Dentro de la carpeta de tu tema actual, necesitas crear una nueva carpeta llamada 'single'. Luego, necesitas abrir esta carpeta y crear un nuevo archivo. Continúa y nombra este archivo single-cat-{slug-de-categoría}. Reemplaza {slug-de-categoría} con el slug real de tu categoría.

Por ejemplo, si tienes una categoría llamada 'Noticias', entonces crearás el archivo single-cat-noticias.php. Si tienes una categoría llamada 'Consejos de Viaje', entonces crea una plantilla single-cat-consejos-de-viaje.php, y así sucesivamente.

Creación de una Plantilla de Publicaciones Individuales para Categorías

Ahora, estos archivos de plantilla estarán completamente vacíos. Como punto de partida, puedes copiar el contenido de tu archivo single.php de la carpeta de tu tema y pegarlo dentro de cada una de estas plantillas. Después de eso, necesitarás editar estas plantillas para hacer los cambios deseados.

Una vez que hayas terminado, puedes ir a tu sitio web y ver una publicación. Usará la plantilla que has creado para la categoría donde está archivada esta publicación.

Ahora, supongamos que tienes una publicación archivada en dos categorías: Noticias y Consejos de Viaje. WordPress mostrará automáticamente la plantilla para 'Noticias' porque aparece primero en orden alfabético.

Por otro lado, si archivaste una publicación en una categoría y no creaste una plantilla para esa categoría, entonces WordPress recurrirá a la plantilla predeterminada single.php de tu tema.

Creación de plantillas personalizadas de publicación única para autores específicos

Supongamos que quieres que las publicaciones escritas por un autor específico se vean diferentes en tu sitio web. Puedes hacerlo usando código siguiendo la misma técnica que mostramos para las categorías.

Primero, necesitas agregar este código al archivo functions.php de tu tema o a un plugin de fragmentos de código.

/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH . '/single');
 
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');
 
/**
* Single template function which will choose our template
*/
function my_single_author_template($single) {
global $wp_query, $post;
 
/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);
 
if(file_exists(SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->user_nicename . '.php';
 
elseif(file_exists(SINGLE_PATH . '/single-author-' . $curauth->ID . '.php'))
return SINGLE_PATH . '/single-author-' . $curauth->ID . '.php';
 
}

A continuación, debes conectarte a tu sitio web usando FTP o el administrador de archivos de cPanel en cPanel y luego ir a /wp-content/themes/tu-carpeta-de-tema/. Si aún no has creado una carpeta llamada /single/ dentro de ella, créala ahora.

Dentro de esta carpeta, necesitas crear una plantilla usando el nombre de usuario del autor en el nombre de la plantilla. Por ejemplo, single-author-johnsmith.php.

Esta plantilla estará vacía, así que puedes copiar y pegar el contenido de la plantilla single.php de tu tema y usarlo como punto de partida.

Ahora puedes visitar tu sitio web para ver una publicación creada por un autor específico. Utilizará la plantilla que creaste.

Esperamos que este artículo te haya ayudado a aprender cómo crear plantillas personalizadas para entradas únicas en WordPress. También podrías querer aprender cómo rastrear visitantes del sitio web en tu sitio de WordPress, o ver nuestra lista de plugins de WordPress imprescindibles para hacer crecer tu sitio.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

71 CommentsLeave a Reply

  1. No veo una opción de "Añadir a bloques reutilizables" en el ejemplo de Creación de plantillas de entradas únicas usando el editor de bloques

    Usando el tema activo

    • Depending on the specific block you may see the option to add it to patterns instead which is likely what you are running into :)

      Administrador

  2. Estoy recibiendo este mensaje cuando intento usar el código:

    Advertencia: call_user_func_array() espera que el parámetro 1 sea un callback válido, la función 'my_single_template' no se encontró o es un nombre de función inválido.

    ¿Alguna idea de por qué?

  3. Todo bien, pero rompe el single.php predeterminado.

    En otras palabras, esto "Por otro lado, si archivaste una entrada en una categoría y no creaste una plantilla para esa categoría, entonces WordPress recurrirá a la plantilla single.php predeterminada de tu tema." no está funcionando.

    ¿Alguna solución?

  4. Hola, estoy intentando seguir el paso:
    Abre el archivo single.php y luego copia todo lo que está después de la línea get_header().
    Debajo de:
    Creación manual de plantillas personalizadas para entradas únicas en WordPress
    Sin embargo, no tengo ninguna función “get_header()” en ese archivo.

    • Tu tema específico puede tener alguna codificación única, te recomendamos contactar al soporte de tu tema específico y ellos deberían poder ayudarte.

      Administrador

  5. Gracias por esto. Todos mis archivos autogenerados (autor, no encontrado, etc.) están usando la plantilla de mi sitio y luego ponen una sección blanca con texto blanco en la página. También comienza en la parte superior de la página (así que es texto blanco sobre un fondo blanco, mayormente oculto detrás de un encabezado de página).

    Creo que tu artículo me ayudará a resolver este desorden.

    Gracias

    • Our article should help and if you reach out to your theme’s support they may be able to assist as well :)

      Administrador

  6. ¿Estoy en lo correcto al pensar que una vez que creas un archivo php de plantilla de publicación personalizada, para que funcione como plantilla, todavía necesitas codificar el archivo php, ya que no hay forma de guardar una nueva publicación como plantilla? ¿Es esto correcto?

    Gracias por tu ayuda.

    • Eso es correcto, para cambiar la plantilla, a menos que estés usando un constructor de páginas, no hay un método para configurarla sin codificar.

      Administrador

  7. Hola Autor,

    Seguí los pasos como mencionaste. Tengo CPT albums. Copié el código de single-albums.php al otro archivo wpb-single-albums.php y agregué el código de plantilla como /*
    * Template Name: custom template
    * Template Post Type: albums
    */
    y realicé algunos cambios necesarios. Pero después de seleccionar esta plantilla en editar publicación, muestra la página predeterminada (single-albums.php).

    ¿Cómo puedo arreglar esto, por favor, ayúdame?

    • Es posible que desees verificar la plantilla de trabajo actual para asegurarte de que el tipo de publicación sea correcto.

      Administrador

  8. Gracias por tu excelente publicación. Tengo 2 preguntas: ¿Las plantillas de publicación única son iguales a las plantillas de tipos de publicación personalizados? Si son diferentes, ¿puedes mostrarme cómo crear una plantilla de tipo de publicación personalizada?

  9. hola
    gracias por la publicación
    hice todo y funcionó como quería.
    pero tuve un pequeño problema
    después de agregar el código a function.php, single.php dejó de mostrar datos
    ¿hay algo que pueda hacer?

  10. Hola, Gracias por tu Tutorial…

    Según tu tutorial he creado un tipo de publicación personalizado. Pero ahora me enfrento a un problema con los comentarios. Al enviar el comentario, se redirige a la búsqueda...
    Por favor, sugiere una solución para esto..
    Gracias de antemano

  11. Hola.

    I’m using this & enjoying it greatly! :)
    However, I’m finding the following warning in my error logs around this code:

    [warn] mod_fcgid: stderr: PHP Warning: Use of undefined constant SINGLE_PATH – assumed ‘SINGLE_PATH’ (this will throw an Error in a future version of PHP)

    ¿Alguna idea sobre cómo solucionar eso?

    Tu fragmento comienza con “define(SINGLE_PATH,…” así que no estoy seguro de qué más hacer aquí.

    • That error is saying it wants SINGLE_PATH to be surrounded by single quotes (”) which you can do for that warning :)

      Administrador

  12. Así que seguí tus pasos y está funcionando para la nueva página única de slug de categoría, pero no para el single.php predeterminado.

    ¿Cómo puedo hacer que esto funcione? ¿Quizás la ruta predeterminada de single.php es incorrecta?

    ¡Gracias!

  13. Hola,

    Estoy dándole demasiadas vueltas a esto, pero... si quiero que cada entrada de blog se vea igual, ¿simplemente creo el diseño (uso el tema Divi), uso el primer método anterior (hago una nueva versión de single.php con el nombre correcto) y elijo eso cada vez que quiero crear una publicación? ¿Así de simple?

    Además, para agregar CSS personalizado, ¿lo agregas al archivo php y cómo? ¿Dónde dentro de él lo agregas? ¿Cómo debería verse? Esa es la parte sobre la que aún no he encontrado ninguna referencia sobre cómo hacerlo. ¿Puedes dar un ejemplo basado en que cada entrada de blog tenga un solo aspecto?

    Gracias

  14. Hola, gracias por el gran tutorial. Está funcionando increíblemente bien, pero no para las nuevas categorías, que no tienen una plantilla especial. Desafortunadamente, no está obteniendo el código del archivo default single.php. Agradecería ayuda sobre cómo hacerlo funcionar.

  15. ¡Hola, gracias por el tutorial!

    Tengo una pregunta. ¿Cómo aplicaríamos CSS personalizado que solo afecte a las páginas de entradas?

    Gracias

  16. ¿Qué pasa si quieres que tu nueva plantilla sea la predeterminada para todo? ¿De modo que cada vez que se cree una entrada, se seleccione automáticamente como la plantilla predeterminada?

  17. Apuesto a que hay plugins que puedes usar para hacer el trabajo sin la molestia de codificar y temas secundarios. Habría sido genial si hubieras investigado y compartido eso en esta publicación también.

  18. Uso tu método pero no puedo establecer CSS personalizado para estas publicaciones.
    Por ejemplo, en function.php cuando verifico is_page_template(‘single-cat-news’), la declaración no se vuelve verdadera y mi CSS personalizado para este tipo de publicación no se ejecuta. ¿Qué debo hacer en este caso?

    • Verdadero.
      Yo también estoy teniendo este problema. La plantilla de ancho completo funciona bien para publicaciones y páginas, pero cuando se trata de tipos de publicación personalizados, los códigos CSS no funcionan y vuelven al tamaño normal de la página sin una barra lateral.
      Me está costando mucho trabajo encontrar una solución a ese problema.

  19. Necesito ayuda adicional con esto...

    Siguiendo las instrucciones de esta página (junto con las pequeñas modificaciones señaladas en mis comentarios del 02/12/17 y 12/12/17), he logrado que esto funcione de manera confiable.

    SIN EMBARGO, me he encontrado con el problema de que usar este método para llamar a una plantilla personalizada no parece registrarse con la llamada de las clases body_class.

    Por ejemplo, si establezco una plantilla personalizada en una página (donde estoy usando el menú desplegable "Plantilla" de WordPress dentro de la vista de edición de la barra lateral "Atributos de página"), entonces las clases del cuerpo que se generan incluirían el nombre de esa plantilla.

    Como por ejemplo:

    <body class="page-template-my_custom_template page page-id-2..."

    Pero, usando este método, las clases del cuerpo simplemente devuelven:

    <body class="page-template-default page page-id-2..."

    ¿Alguna idea sobre cómo asegurar que las clases del cuerpo reflejen una plantilla de publicación única personalizada?

    • Aquí está la respuesta (al menos para mi tema; tu experiencia puede variar).

      Agregar lo siguiente a [b]functions.php[/b] hizo el truco para mí:

      add_filter('body_class','add_category_to_single');
        function add_category_to_single($classes) {
          if (is_single() ) {
            global $post;
            foreach((get_the_category($post->ID)) as $category) {
              // add category slug to the $classes array, starting with 'category-'...
              $classes[] = "category-$category->category_nicename";
            }
          }
          // return the $classes array
          return $classes;
        }
      
  20. Creé un archivo single-cat-news.php para "Noticias". Mi categoría "Noticias" tiene dos hijas: "Cámara" y "Smartphone". Las publicaciones en "Smartphone" se muestran en single-cat-news.php (S después de N en el abecedario), pero las publicaciones en "Cámara" se muestran en el single.php predeterminado (C antes de N en el abecedario). Quiero que las publicaciones en "Cámara" se muestren en single-cat-news.php, ¿qué debo hacer? Seleccioné tanto "Noticias" como "Cámara" para mi publicación.

  21. Im viewing your Blog from last 2 years. I explored whole web to find this but i got the correct working code from here i just love your Blog keep it up :)

  22. Al usar este enfoque para especificar una plantilla de publicación personalizada para una publicación individual dentro de una categoría específica, descubrí que WordPress NO volvía a single.php en los casos en que no existía un archivo single-cat-WHATEVER.php para una categoría específica.

    Arreglé esto agregando la siguiente línea antes del final de la función:

    else
    return SINGLE_PATH . '/single.php';

    De modo que, este código:


    /**
    * Verifica la plantilla single por categoría
    * Verifica por slug e ID de categoría
    */
    foreach((array)get_the_category() as $cat) :

    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';

    elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';

    endforeach;
    }

    Se convirtió en esto:


    /**
    * Verifica la plantilla single por categoría
    * Verifica por slug e ID de categoría
    */
    foreach((array)get_the_category() as $cat) :

    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';

    elseif(file_exists(SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->term_id . '.php';

    else
    return SINGLE_PATH . '/single.php';

    endforeach;
    }

    ¿Parece este el enfoque correcto? ¿O hay algo más que haya hecho que haya roto la funcionalidad predeterminada?

  23. Gracias por este 'cómo hacerlo' tan claro.

    Una nota: para aquellos de nosotros que usamos un TEMA HIJO, he descubierto que cambiar…

    define(SINGLE_PATH, TEMPLATEPATH . ‘/single’);

    a:

    define(SINGLE_PATH, get_stylesheet_directory() . ‘/single’);

    (dentro de la sección “Definir una ruta constante para nuestra carpeta de plantilla única”) asegura que se verifique el directorio del tema hijo en busca de plantillas únicas en lugar del directorio del tema padre.

    Esta puede ser también la razón por la que no funciona para algunos de los otros comentaristas anteriores.

    ¡Buena suerte a todos!

  24. Gracias por este artículo.
    Quisiera saber cómo puedo personalizar aún más el diseño de esta plantilla de publicación personalizada, como colocar una imagen en la publicación antes del contenido y en el pie de página.

  25. Hola,
    Necesito cambiar el orden de 3 cosas en la página de publicación que están al final del artículo:
    1- un plugin de paginación.
    2- un anuncio.
    3- iconos para compartir en redes sociales.

    Quiero que estén en el siguiente orden (verticalmente):
    1- el anuncio
    2- los iconos para compartir en redes sociales
    3- el plugin de paginación

    ¿Cómo puedo hacer eso, por favor?

  26. Gracias por tus excelentes tutoriales. Tengo problemas con este. Agregué el código a mi functions.php pero no obtengo la plantilla de publicación única. ¿Necesito hacer una llamada a la función o WordPress lo hace? ¿Hay alguna forma en que pueda depurar la función?

    Solo quiero que las publicaciones de una categoría en particular se muestren de manera diferente cuando se enlaza a ellas.

  27. Quería crear una página de publicación personalizada donde los usuarios registrados de mi sitio pudieran publicar sin usar el post.php predeterminado de WordPress.

  28. ¡Hola! Gracias por este tutorial, pero soy bastante nuevo en el diseño web y comencé a crear un tema completo de WordPress. Todo funciona bien en mi sitio web, pero estoy tratando de hacer posible agregar páginas que utilicen una plantilla que creé (como la página de un producto en un catálogo), pero no tengo idea de cómo hacerlo. Primero intenté hacerlo creando una plantilla de página en la que puse bucles que muestran el contenido de un artículo o una página, como su título, su texto y los valores de algunos campos personalizados. Para hacerlo, usé query_posts, pero requiere poner el ID de la publicación o página con "page_id=" o "p=", lo que significa que la plantilla es para una página específica, y tendría que crear una plantilla para cada nueva página que agregue a este catálogo, y especificar manualmente el ID de la página/publicación en ella, mientras que lo que quería era crear una sola plantilla para todas las páginas del catálogo...
    Así que mientras investigaba para encontrar una solución, encontré tu artículo, y traté de crear una publicación usando la nueva plantilla de publicación única, pero no importa qué plantilla seleccione en la lista, cuando voy a la URL de la publicación, muestra mi página de inicio... Probablemente lo estoy haciendo todo mal, y ni siquiera estoy seguro de haber entendido qué es una publicación única y si es realmente lo que necesito... Realmente agradecería si pudieras darme algunas pistas sobre lo que debería hacer para resolver mi problema, o si hay algún tutorial en algún lugar que pueda ayudarme...
    ¡Gracias!

    Pierrick.

    • ¡Hola Pierrick!

      No estamos seguros de entender completamente tu problema. Sin embargo, si solo quieres crear una plantilla para ser utilizada por cualquier página, entonces la plantilla de página personalizada es el enfoque correcto. Dado que quieres que los usuarios puedan ver cualquier página, esto significa que no necesitas usar query_posts, tu bucle comenzará con el estándar

      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      //
      		// Post Content here
      		//
      	} // end while
      } // end if
      ?>
      

      Administrador

  29. Hola,

    Tengo una configuración local con WP 3.7.x y el tipo de publicación de plantilla: post, page, product no está disponible.

    ¿Cómo puedo crear archivos php de categoría separados para cada categoría de publicación???

    single-{slug}.php
    category-{slug}.php

    todo no parece funcionar

    ¿Algún consejo?

  30. Lo he configurado para que funcione con categorías, sin embargo, cuando selecciono una publicación que no tiene categoría, falla al seleccionar la plantilla predeterminada y no muestra la publicación. Sospecho que mi tema puede tener la culpa. ¿Cómo podría codificar manualmente single.php en el directorio principal como predeterminado para usar si no existe una plantilla de categoría?

    Funciona perfectamente si copio single.php en el archivo /single/single-cat-name.php, pero no quiero 40+ archivos duplicados.

    • primero copia single.php a la carpeta /single

      luego incluye este código justo antes del endforeach;

      else

      return SINGLE_PATH . ‘/single.php’;

  31. Esto es exactamente lo que estaba buscando, ¡gracias por explicarlo de manera tan sencilla! Sin embargo, me queda una pregunta: quité mi barra lateral, pero ahora solo hay un espacio vacío donde solía estar. ¿Cómo puedo estirar la sección de contenido principal para cubrir todo el espacio? ¡Gracias de nuevo!

    • Hola Lyssie,

      Eso es porque tu tema ha definido el ancho del área de contenido en relación con la barra lateral. Necesitas usar la herramienta de inspección para averiguar qué clase CSS usa tu área de contenido y luego ajustarla agregando CSS personalizado para que ocupe todo el ancho.

      .page-template-full-width .content-area {
          width: 100%;
          margin: 0px;
          border: 0px;
          padding: 0px;
      }
      
      .page-template-full-width .site {
      margin:0px;
      }
      

      Por favor, consulta nuestra guía sobre cómo crear una página de ancho completo en WordPress

      Administrador

      • ¡Gracias por la respuesta rápida! ¡Esto fue de gran ayuda! Ahora, si veo:
        div id=”primary” class=”content-area”>

        cuando uso la herramienta de inspección, ¿cuál es la clase que usa mi área de contenido?

        • Oops, eso no salió bien.
          div id=”primary” class=”content-area”
          main id=”main” class=”site-main” role=”main”

          article id=”post-4773″ class=”post-4773 post type-post status-draft format-standard hentry category-travel-2″
          div id=”featured-image”
          /div

  32. Ese es un gran artículo y debería ayudar a una persona sin conocimientos de codificación como yo. La personalización de plantillas sería algo aterrador que podría romper el tema por completo. ¿Recomiendas hacer la plantilla personalizada en un tema hijo o está bien hacerlo directamente en el tema? Muchas gracias.

    • Hola Joe,

      No cambiarás ninguno de los archivos existentes de tu tema. En su lugar, crearás un archivo nuevo. Si algo sale mal, simplemente puedes eliminar la plantilla y tu sitio volverá a la normalidad.

      Sí, crear un tema hijo es la mejor práctica recomendada.

      Administrador

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.