¿Alguna vez quiso usar los accesos directos de WordPress directamente en los archivos de plantilla de su tema o, en general, ejecutarlos con PHP? Con la función de WordPress do_shortcode, puede hacer realidad su deseo, y le mostraremos cómo hacerlo.
Aunque WordPress comenzó a alejarse de los atajos con el cambio al editor de bloques (también conocido como Gutenberg), los atajos aún juegan un papel vital en el ecosistema de WordPress.
Solo un conjunto de paréntesis y algo de texto, p. [yourshortcode] – puede incrustar contenido, realizar funciones y muchas otras tareas de manera más eficiente.
Pero si alguna vez ha intentado agregar un código abreviado directamente a los archivos de plantilla de su tema, probablemente haya descubierto que este enfoque simplemente no funcionará. El código abreviado se mostrará como texto sin formato; en realidad, no ejecutará el código abreviado ni representará el contenido que desea mostrar.
Sin embargo, esto no significa que no pueda usar accesos directos en archivos de plantilla. Con la función de WordPress do_shortcode, puede insertar fácilmente cualquier shortcode directamente en cualquier archivo de plantilla.
Siga leyendo para descubrir cómo funciona y algunas otras prácticas recomendadas importantes para usar los accesos directos de WordPress en los archivos de plantilla.
¿Cómo funciona do_shortcode WordPress?
Con la función do_shortcode, básicamente puede envolver su shortcode en la función PHP do_shortcode y usarla para agregar el shortcode directamente a los archivos de plantilla de su sitio web.
Puede colocar el código abreviado en cualquier lugar de su sitio, incluidas las siguientes ubicaciones:
- Bóveda
- Pie de página
- Plantillas individuales (por ejemplo, una sola entrada de blog)
- Plantillas de archivo (por ejemplo, una página que enumera todas las publicaciones de su blog)
Para usarlo, simplemente agregue el código abreviado en la función de WordPress do_shortcode de la siguiente manera:
Luego puede agregar esta característica directamente a sus archivos de plantilla. O puede usar ganchos de WordPress para insertarlo en ubicaciones específicas.
¿No estás seguro de cómo funciona? Veamos un ejemplo.
Ejemplo do_shortcode WordPress
Para ayudarlo a comprender cómo funciona do_shortcode, veamos un ejemplo real.
Supongamos que creó un formulario con el complemento WPForms y ahora desea incrustar ese formulario directamente en los archivos de plantilla de su tema con do_shortcode.
Aquí está cómo hacerlo.
1. Haga una copia de seguridad de su sitio y seleccione un subtema.
Dado que editará los archivos de plantilla en este ejemplo directamente, hay dos cosas que debe hacer antes de comenzar:
- Haga una copia de seguridad de su sitio de WordPress en caso de que algo salga mal.
- Asegúrate de estar usando un tema hijo. Si no lo hace, los cambios de su plantilla se sobrescribirán la próxima vez que actualice su tema. Lea nuestra guía completa sobre temas secundarios de WordPress si no sabes que hacer aquí.
Una vez hecho esto, puedes empezar.
2. Prepare su código corto.
Primero, prepare un código corto que usará.
En nuestro ejemplo de WPForms, puede encontrar el código abreviado en la interfaz de WPForms.
2. Edite el archivo de plantilla.
Luego, debe editar el archivo de plantilla donde desea incluir su código abreviado. En este ejemplo, suponga que desea agregar un formulario debajo de cada publicación y página del blog.
Para lograr esto, necesitas encontrar tu tema soltero.php modelo. Para agregar el shortcode debajo del contenido, puede agregar la función do_shortcode debajo de la función_content en el archivo de plantilla.
Puede realizar cambios utilizando el editor de temas de WordPress incorporado yendo a Apariencia → Editor de temas. También puede conectarse a través de un cliente FTP y editar archivos de esta manera.
3. Agregue la función de WordPress do_shortcode.
Para finalizar, simplemente agregue la función do_shortcode con el shortcode en la ubicación adecuada. Asegúrate de llamar a la función do_shortcode; de lo contrario, no verás el resultado en la interfaz de usuario.
Después de guardar los cambios, debería ver el resultado de su shortcode en el lugar donde agregó la función. Así es como se ve con nuestro ejemplo y el tema predeterminado Twenty Twenty-One.
Si todo funciona bien, ya está. Si tiene problemas con WordPress do_shortcode que no funciona, pase a la siguiente sección para ver los pasos de solución de problemas.
Solución de problemas de WordPress do_shortcode no funciona
Si tiene problemas con el do_shortcode de WordPress que no funciona, aquí hay algunos pasos básicos para la solución de problemas que debe considerar.
1. Código abreviado de eco.
WordPress mismo, do_shortcode simplemente devuelve un valor. Si realmente desea mostrar el resultado del shortcode, debe llamar a do_shortcode.
Si observa do_shortcode en el ejemplo de WordPress anterior, nos aseguramos de mostrar siempre la función do_shortcode para mostrar el valor.
2. Vuelva a comprobar que está utilizando las comillas correctamente.
Si obtiene un error de PHP después de agregar el código abreviado con do_shortcode, puede haber un problema con las comillas utilizadas.
Algunos accesos directos le permiten agregar parámetros dentro del código abreviado, lo que puede causar problemas si comete un error con las comillas utilizadas.
Por ejemplo, suponga que desea agregar un código abreviado como este:
Error: Formulario de contacto no encontrado.
El shortcode ya contiene comillas dobles. Por lo tanto, si intenta usar comillas dobles para la función do_shortcode, probablemente arrojará un error.
¿Solución? Simplemente use comillas simples para las funciones de PHP.
Aquí está demonio forma de hacerlo: observe cómo el código abreviado está rodeado de comillas dobles fuera:
echo do_shortcode (“
Error: Formulario de contacto no encontrado.
“);Aquí está normal forma de hacer esto: observe cómo el código abreviado ahora está entre comillas simples, mientras que dentro del código abreviado todavía hay comillas dobles:
echo do_shortcode (‘
Error: Formulario de contacto no encontrado.
‘);3. Confirme que está utilizando el código correcto.
Esto puede parecer obvio, pero en realidad puede ser un poco difícil. Algunos complementos usarán exactamente la misma sintaxis de shortcode, pero implementarán las cosas de manera un poco diferente, por lo que no es realmente un shortcode de WordPress.
Esto se ve exactamente como un código abreviado para usted, por lo que cree que debería funcionar bien en WordPress do_shortcode. Pero para su sitio de WordPress no es realmente un shortcode, por lo que do_shortcode no funciona.
¿Hay algún riesgo con el uso de WordPress do_shortcode?
La función do_shortcode de WordPress puede ser realmente útil cuando solo tiene un código abreviado y necesita una forma de agregarlo a una plantilla o código PHP.
Con eso en mente, generalmente debe evitar usarlo cuando sea posible.
¿Por qué deberías evitarlo?
El problema es principalmente de rendimiento. No es que el uso de do_shortcode ralentice automáticamente su sitio web. La mayoría de las veces, está perfectamente bien y no notarás la diferencia.
Sin embargo, no es óptimo La técnica desde la perspectiva de la interpretación. Entonces, si puede evitarlo fácilmente, es mejor adoptar un enfoque diferente (que veremos a continuación).
Esta es la razón por. Cuando usa do_shortcode, esencialmente está haciendo que su sitio web funcione todos códigos cortos que existen en su sitio solo para ejecutar un código corto que necesita. Técnicamente, WordPress hace esto usando una expresión regular grande cada vez que se llama a la función do_shortcode.
Esto incluye todos los accesos directos predeterminados de WordPress, todos los accesos directos de temas (si corresponde) y los accesos directos de complementos que utilice.
Obviamente, esto no es tan eficiente como usar las funciones de PHP. ¿Reducirá la indexación de mi sitio? No, no es gran cosa. Pero siempre que sea posible, es una buena idea adoptar un enfoque diferente.
¿Cuáles son tus otras opciones? Repasemos algunos.
Alternativas de WordPress do_shortcode
1. Use las funciones de PHP si están disponibles
Hoy en día, muchos complementos proporcionan tanto un código abreviado como una función PHP como opciones de incrustación. Si tiene ambos, siempre debe usar las funciones de PHP en lugar de do_shortcode de WordPress. Realmente no hay complejidad adicional y esto mejorará el rendimiento y la eficiencia de su sitio web.
2. Encuentra la función de devolución de llamada de shortcode.
Si un complemento no proporciona funciones de PHP, pero aún desea evitar el uso de la función do_shortcode de WordPress por razones de rendimiento, aún tiene algunas otras opciones.
Sin embargo, estas soluciones pueden ser un poco complicadas. A menos que sea una persona muy técnica, puede limitarse a do_shortcode por simplicidad.
La idea es que en lugar de usar shortcode y do_shortcode, puede encontrar una función de devolución de llamada de shortcode. Esta es la función PHP real a la que se llama cuando usa shortcode.
Entonces puedes repetir esta función en lugar de do_shortcode.
Sin embargo, hay dos desventajas:
- Encontrar una función de devolución de llamada puede ser difícil si no eres una persona muy técnica.
- Esto puede ser realmente complicado si la devolución de llamada está dentro de una clase de objeto. Es posible que no pueda acceder a la devolución de llamada directamente, lo que requiere que cree una herramienta de devolución de llamada personalizada y está fuera del alcance de este artículo.
Con muchos complementos más simples, puede encontrar la función de devolución de llamada sin demasiada dificultad. En este ejemplo, suponga que desea utilizar un atajo de los complementos de código abreviado de año actual y derechos de autor.
Esta es la forma más fácil de hacerlo:
- Descargue el complemento y extraiga el archivo zip para acceder fácilmente a todos los archivos del complemento.
- Utilice un software que le permita realizar una búsqueda en todos los archivos de esta carpeta. Notepad ++ es una opción gratuita sólida que esto hace que sea fácil de hacer.
- Busque el atajo que pretendía usar en la función do_shortcode de WordPress.
Debería ver algo como esto:
add_shortcode (‘cy’, ‘jr_cy_cy’);
En este ejemplo:
- [cy] es una abreviatura?
- jr_cy_cy () es la función real a la que llama el shortcode
Con do_shortcode, lo implementarías así:
echo do_shortcode (‘[cy]’);
Pero ahora que tiene una función de devolución de llamada, puede usar la función directamente así:
echo jr_cy_cy ();
Obtienes exactamente el mismo efecto, pero has limitado el trabajo que tu sitio tiene que hacer.
Comenzando con WordPress do_shortcode
La función do_shortcode de WordPress facilita la colocación de accesos directos directamente en los archivos de plantilla de su tema. Todo lo que necesita hacer es agregar el código abreviado a la función do_shortcode y repetir la función en la ubicación de la plantilla donde desea que aparezca el código abreviado.
También querrás prestar mucha atención a las comillas que usas, ya que la diferencia entre comillas simples y dobles es muy importante cuando usas do_shortcode.
Si bien una de las características atractivas de do_shortcode es su simplicidad, generalmente es una buena práctica evitar usar do_shortcode de WordPress cuando es fácil, ya que no es tan amigable con el rendimiento como llamar directamente a las funciones de PHP.
Si un complemento proporciona tanto un código abreviado como una función PHP, siempre es mejor usar la función PHP en lugar del código abreviado. E incluso si el complemento no proporciona funciones de PHP, puede encontrar fácilmente la función de devolución de llamada asociada con el código abreviado y llamar a esa función directamente.
do_shortcode es generalmente la forma más fácil de trabajar con códigos cortos en archivos de plantilla. Entonces, si ese es el único método con el que puede comenzar, quédese con do_shortcode.
Pruébelo y disfrute de la flexibilidad adicional de trabajar con los archivos de plantilla de su tema.