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.

¿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.

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
- Creación de plantillas personalizadas para entradas individuales usando SeedProd
- Uso de la configuración del tema para crear diseños de entradas individuales
- Creación manual de plantillas personalizadas para entradas individuales con código
- Creación de plantillas personalizadas para entradas individuales por categoría
- Creación de plantillas personalizadas para entradas individuales para autores específicos
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.

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.

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'.

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'.

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.

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'.

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.

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.

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.

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.

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.

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.

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.

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’.

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.

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.

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.

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.

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.

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.

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.

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.

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.


Richard Watts
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
Soporte de WPBeginner
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
allah ditta
quiero crear una plantilla de entrada como wpbeginer, ¿es posible?
Soporte de WPBeginner
Si hay alguna parte de nuestro diseño que te guste, podrías recrearla en tu sitio.
Administrador
Jasmine
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é?
Soporte de WPBeginner
Deberías asegurarte de haber copiado correctamente todo el código, tenemos una guía que podría ayudarte a continuación:
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
Administrador
Iulian
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?
Soporte de WPBeginner
Es posible que necesites contactar al soporte de tu tema para asegurarte de que no haya una plantilla diferente con la que te estés encontrando. Para entender a qué nos referimos, podrías echar un vistazo a nuestro artículo a continuación:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Administrador
Thomas
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.
Soporte de WPBeginner
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
bob
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
Soporte de WPBeginner
Our article should help and if you reach out to your theme’s support they may be able to assist as well
Administrador
Jojo
No encuentro la opción de plantilla en Beaver Builder.
Soporte de WPBeginner
Las plantillas aún deberían encontrarse en la sección superior derecha del panel de contenido.
Administrador
John
¿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.
Soporte de WPBeginner
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
Ali Jahani
Hola
wpbeginner es muyyyyyyyy bueno
gracias por publicar el mejor artículo
Soporte de WPBeginner
Glad you like our content
Administrador
Gregory
Este es un tutorial increíble sobre la página de publicaciones personalizadas de WP.
Gracias por tu ayuda.
Soporte de WPBeginner
You’re welcome, glad you found our tutorial helpful
Administrador
Haripal Reddy
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?
Soporte de WPBeginner
Es posible que desees verificar la plantilla de trabajo actual para asegurarte de que el tipo de publicación sea correcto.
Administrador
Alice
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?
Soporte de WPBeginner
Pueden ser diferentes si lo deseas, pero si creas una específicamente para el tipo de publicación, de lo contrario WordPress usará la plantilla de publicación por defecto. Deberías echar un vistazo a nuestro artículo aquí: https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Administrador
aziz
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?
Soporte de WPBeginner
You would need to create the folder as we explain after the code in the article
Administrador
Binesh
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
Soporte de WPBeginner
Si te redirige a una página 404, deberías echar un vistazo a nuestro artículo de solución de problemas aquí: https://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-posts-returning-404-error/
Administrador
Mike
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í.
Soporte de WPBeginner
That error is saying it wants SINGLE_PATH to be surrounded by single quotes (”) which you can do for that warning
Administrador
Jojo
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!
Soporte de WPBeginner
Si quisieras editar el archivo default single.php, primero deberías crear un tema hijo: https://www.wpbeginner.com/wp-themes/how-to-create-a-wordpress-child-theme-video/
y luego podrías editar tu archivo single.php sin preocuparte de que los cambios se eliminen cuando crees tu propio single.php.
Administrador
Jagdish
Soy una de tus lectoras silenciosas, amo tu blog <3
Soporte de WPBeginner
Thank you, glad you’ve been enjoying our content
Administrador
Hil
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
Soporte de WPBeginner
Las entradas del blog deberían usar single.php por defecto y verse igual de esa manera, pero puedes crear una plantilla de entrada personalizada si quisieras modificar la apariencia. Para CSS personalizado, deberías echar un vistazo a nuestro artículo aquí: https://www.wpbeginner.com/plugins/how-to-easily-add-custom-css-to-your-wordpress-site/
Administrador
Malgorzata
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.
Christopher Krohn
¡Fantástico tutorial. Gracias!
STEVE
¡Hola, gracias por el tutorial!
Tengo una pregunta. ¿Cómo aplicaríamos CSS personalizado que solo afecte a las páginas de entradas?
Gracias
TRAVIS
¿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?
Jarrod
Simplemente pon el código de la plantilla que quieres crear en single.php.
Jae
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.
Mahbub
@JAY ¿por qué no lo hiciste tú mismo?
peyman
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?
Bikram
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.
Mike
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?
Mike
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; }Dzungx Corn
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.
Sarmad Gardezi
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
Mike
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:
elsereturn 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?
Mike
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!
Stephanie Lewis
¡Muchas gracias por tu ayuda! Me preguntaba por qué me devolvía al tema principal en lugar del tema hijo.
Ashley
No puedo hacer que esto funcione para mí, la plantilla nunca aparece en el editor de publicaciones incluso después de borrar mi caché.
Olayinka
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.
oussama
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?
Linda Holiner
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.
Taufiq Mahmud
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.
Pierrick
¡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.
Soporte de WPBeginner
¡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
1-click Use in WordPress
Administrador
alex
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?
Mark
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.
Eric Besso
primero copia single.php a la carpeta /single
luego incluye este código justo antes del endforeach;
else
return SINGLE_PATH . ‘/single.php’;
Garikai Dzoma
Esto ha sido de gran ayuda para mí.
Lyssie
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!
Soporte de WPBeginner
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; }1-click Use in WordPress
Por favor, consulta nuestra guía sobre cómo crear una página de ancho completo en WordPress
Administrador
Lyssie
¡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?
Lyssie
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
Soporte de WPBeginner
Hola Lyssie,
Tu tema usa la clase `content-area` para definir el ancho del bloque de contenido. Deberías poder ver su ancho al usar la herramienta de inspección.
Joe Yee
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.
Soporte de WPBeginner
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
Danielle
Cuando pongo el archivo en mi tema hijo, lo veo en el menú desplegable, pero en realidad no se aplica.