Diseño Web Wordpress

Integración de WordPress en scripts PHP

Visión general

Hoy, tuve que usar un script PHP personalizado que creé hace un tiempo en una nueva aplicación de WordPress. En lugar de desarrollar un complemento de WordPress para manejar este código existente, elijo usar WordPress directamente dentro de mi script.

Usar WordPress dentro de su script es una gran opción si tiene mucho código PHP personalizado.

Cuando tiene una gran base de código PHP de sus esfuerzos de desarrollo anteriores. Por lo general, hay otras bibliotecas dentro de su código, como Symfony, Zend Framework, Pear, etc., que no desea desarmar. Tiene un código de trabajo y desea que permanezca unido.

En mi caso, había creado un formulario de recogida de datos para un cliente. Pero esta no era una forma ordinaria. Tenía más de 100 variables de forma. Se componían de entrada de texto, casillas de radio, casillas de verificación y áreas de texto. Quería usar este formulario directamente dentro de mi aplicación de WordPress. Además, quería que la integración fuera fácil.

La solución fue en realidad bastante simple.

Código PHP existente

Por ejemplo, suponga que este es mi código PHP existente (es un script simple para ilustrar este punto).

</p> <form name="datacollection" method="post" action="index.php"> <p><input type="text" name="first_name" value="<php echo $_POST['first_name'];?>«><br /> <input type="submit" value="Submit Data"><br /> </form> <p>

Pero el problema es que esa es solo la forma de recopilar los datos. ¿Qué pasa con la apariencia del sitio existente? ¿Cómo puedo hacer que el código anterior se vea como el mismo diseño de plantilla de mi aplicación de WordPress?

Por ejemplo, una solución es agregar el código HTML sin procesar. Pero eso requiere mucho tiempo y no es dinámico. Si la plantilla de WordPress cambia, tengo que entrar aquí y volver a cambiarla manualmente. No es algo que quiera hacer.

<head><br /> <title>Mi página de formulario PHP<br /> </head><br /> <body data-rsssl=1></p> <form name="datacollection" method="post" action="index.php"> <p><input type="text" name="first_name" value="<php echo $_POST['first_name'];?>«><br /> <input type="submit" value="Submit Data"><br /> </form> <p><script>"use strict";var wprRemoveCPCSS=function wprRemoveCPCSS(){var elem;document.querySelector('link[data-rocket-async="style"][rel="preload"]')?setTimeout(wprRemoveCPCSS,200):(elem=document.getElementById("rocket-critical-css"))&&"remove"in elem&&elem.remove()};window.addEventListener?window.addEventListener("load",wprRemoveCPCSS):window.attachEvent&&window.attachEvent("onload",wprRemoveCPCSS);</script><script src="https://sanjuanreyes.com/wp-content/cache/min/1/c21323b23cbb9b6aa39edf62138935af.js" data-minify="1" defer></script><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Red%20Hat%20Text%3A400%2C400i%2C500%2C500i%2C700%2C700i%7CRed%20Hat%20Display%3A400%2C400i%2C500%2C500i%2C700%2C700i%2C900%2C900i%7CRed%20Hat%20Display%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRed%20Hat%20Text%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRoboto%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRoboto%20Slab%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&#038;subset=latin&#038;display=swap" /><link rel="stylesheet" href="https://sanjuanreyes.com/wp-content/cache/min/1/cec33010384c90699d9c26196b662f63.css" media="all" data-minify="1" /></noscript></body><br /> </html>

Pero eso no funcionaría exactamente. Tendría que hacer coincidir la navegación, incluir las hojas de estilo y asegurarme de que el HTML coincidiera exactamente con la apariencia de mi sitio web principal.

La mejor solución

Cree una instancia de WordPress y use las funciones integradas dentro de su código.

<php // include the WordPress loader file $root = $_SERVER['DOCUMENT_ROOT']; require( $root. '/wp-load.php' ); // call the WordPress header function get_header(); ?></p> <form name="datacollection" method="post" action="index.php"> <p><input type="text" name="first_name" value="<php echo $_POST['first_name'];?>«><br /> <input type="submit" value="Submit Data"><br /> </form> <php // include the footer get_footer(); ?>

¿Ves lo fácil que fue? WordPress se instancia directamente en mi página. Luego instruyo a la página para que llame a las funciones de encabezado y pie de página de WordPress.

Las funciones de encabezado y pie de página proporcionan todo lo que necesito para la plantilla de mi sitio de WordPress. Rellena automáticamente el HTML, CSS y cualquier Javascript en la parte superior, y en la parte inferior cierra las etiquetas que estaban abiertas.

Conclusión

Deje que PHP haga el trabajo. No hay necesidad de duplicar el código de WordPress en HTML puro cuando puede hacer que WordPress lo genere automáticamente.

El beneficio adicional es que si el diseño del sitio principal de WordPress cambia alguna vez, la plantilla que envuelve su código PHP personalizado reflejará esos cambios de inmediato.


#Integración #WordPress #scripts #PHP

Autor

sanjuanreyes

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *