Cómo usar Ajax en WordPress para cargar los resultados de búsqueda

AJAX es una herramienta muy potente y flexible que permite a los desarrolladores crear aplicaciones más simples. Se puede utilizar para una amplia gama de propósitos, como cargar contenido o verificar los créditos de conexión. La principal ventaja de AJAX es que es asíncrono, lo que significa que no se debe recargar toda la página para recibir nuevos datos. WordPress está bien equipado para AJAX. Tiene un excelente mecanismo para trabajar con él, lo que le permite implementar la funcionalidad AJAX con un poco de agitación. En este artículo, presentaré los elementos básicos de AJAX y crearé una extensión muy simple que atraiga los resultados de búsqueda utilizando AJAX en los veinte y cuatro.
¿Qué es Ajax? Ajax no es en realidad una sola tecnología, es una mezcla de lenguajes de programación que probablemente ya conozca. Ajax es la abreviatura del síncrono J Avascript Nd X ML. JavaScript se usa para enviar algunos datos al servidor, que escupe algo en su lugar en formato XML. XML no es realmente necesario, JSON se usa comúnmente en su lugar. Cuando se usa JSON, a veces nos referimos a Ajaj en lugar de Ajax. De hecho, debido a que el servidor podría devolver una cadena simple o HTML, no debemos restringirnos a XML o JSON. Para el propósito de este artículo, me referiré a AJAX independientemente del tipo de datos que devuelvamos.
¿Cómo se usa Ajax? Veamos un ejemplo práctico, sin ingresar el código. Supongamos que ha creado un sitio web de bienes raíces y brinda a los visitantes la oportunidad de guardar una grabación para verlo más tarde. Esta funcionalidad podría ofrecerse utilizando el botón “Guardar para posterior”. Cuando un usuario hace clic en este botón, se dirige a un script que agrega la lista a la lista posterior y se redirige a la página que veía. Esto significa que la página debe cargarse nuevamente. Un sitio de bienes raíces podría ser muy rico en imágenes y es posible que muchas imágenes no se almacenen en caché, lo que contribuya a un tiempo de carga más largo. Una solución mucho mejor sería la siguiente: el usuario hace clic en el botón y el botón es mostró una pequeña animación de carga. El botón luego desaparece, el texto “Listado guardado” se muestra en su lugar. Si bien esto sucede, el usuario puede continuar utilizando el sitio web como de costumbre. Bajo el capó, el proceso es muy similar en ambos casos. Al hacer clic en el botón, el usuario no se toma en ningún lado, pero utilizando JavaScript hacemos una solicitud a un archivo en particular, proporcionando la ID de listado. El archivo en cuestión se da cuenta de quién es el usuario actual y, utilizando la ID de lista proporcionada, lo agrega a la lista posterior. Una vez hecho esto, el script devuelve un valor que se transporta a la función JavaScript. Según esto, podemos manejar la interfaz de uso para mostrar al usuario mensajes de interacción significativos.
¡No se preocupe si lo encontró un poco complejo! En la práctica, el proceso es bastante fácil, solo se necesita un poco para acostumbrarse. El uso de AJAX en WordPress Ajax es completamente independiente de los marcos como WordPress. Puede implementarlo como desee. Sin embargo, existe un soporte integrado en WordPress para un flujo de trabajo AJAX. Debe seguir esto si desea que pase el complemento o el tema. Veamos un ejemplo muy simple en tres pasos. Pasaremos de una solución personalizada al uso de fundamentos AJAX en WordPress, sin usar AJAX en sí, a una implementación completa. Crearemos un botón único, que se mostrará si el usuario aún no ha hecho clic en él o mostrará “ya hacer clic” si el usuario ha hecho clic antes. Implementación personalizada antes de continuar, debemos averiguar si sabemos si sabemos si sabemos si sabemos si sabemos si sabemos si sabemos si sabemos si sabemos si sabemos si sabemos Sabemos que un usuario ha hecho clic en el botón o no. Si un usuario hace clic en el botón, crearemos un usuario de medidor Clicked_link con el valor “Sí”. Aquí hay una función que verifica esto para nosotros:
Cargue los esenciales 4B40F2C4D42973A22BA6
Ahora podemos crear la interfaz de usuario. El botón aparecerá si el usuario aún no ha hecho clic (será visible solo para usuarios conectados). Si un usuario ha hecho clic en él, se mostrará el texto “ya haciendo clic”:
Cargue los esenciales 4B40F2C4D42973A22BA6
Cuando un usuario hace clic en el botón, la página se recarga con la cadena de consulta Button_Click. Según este valor, podemos usar una acción para establecer el meta usuarios:
Cargue los esenciales 4B40F2C4D42973A22BA6
Tenga en cuenta que este método no se recomienda por varias razones, sino que sirve como prueba del concepto. En este momento, el botón aparecerá para usuarios conectados que no lo hayan hecho clic. Al hacer clic en él, se le redirige a la misma página. Mucho antes de cargar el botón, el usuario meta está registrado y, como resultado, se muestra el texto correcto “ya haciendo clic”. Los cimientos de AJAX sin AJAX para acercar este ejemplo con un paso más cerca de una implementación de AJAX. Ya podemos usar las funciones ofrecidas por WordPress sin escribir JavaScript. Esto implica dirigir nuestras acciones a través de Admin-AJAX.PHP. Echemos un vistazo a cómo cambia nuestro código de botón como resultado: se cobra el esencial 4B40F2C4D4D42973A22BA6
El único cambio está en la URL del botón. Admin-AJAX.PHP Admin-AJAX.PHP FILE del Directorio de administración de WordPress. Además, se especifica un parámetro de acción con el valor de Button_click. No podemos escribir funciones para hacer frente a nuestras acciones en este archivo porque es un archivo básico de WordPress. Sin embargo, podemos usar acciones para vincularlos a estos eventos.
Cargue los esenciales 4B40F2C4D42973A22BA6
Para vincular una acción a una acción en el archivo admin -ajax.php, debemos usar WP_AJAX_ [Action] – WP_AJAX_ [Action] o W P_AJAX_NOPRIV_ [Action]. El primero se activa solo para usuarios conectados, el segundo solo para usuarios desconectados. ¡Esta ya es una excelente manera de proteger nuestras escrituras!
Tenga en cuenta que también reescribo la función user_cllicked () para facilitar los cambios. Ya no tenemos que verificar si el usuario está autenticado, porque es por eso que WP_AJAX_BUTTON_CLICK el gancho WP_AJAX_BUTTON_CLICK. Sin embargo, necesitamos redirigir al usuario a la página anterior. Implementación completa AJAX Nuestra implementación completa AJAX utilizará las bases que hemos construido en el ejemplo anterior. Comencemos por escribir algo JavaScript, que manejará el evento de clic. Cargue el esencial 4B40F2C4D42973A22BA6
Admin-ajax.php Haga clic en el botón y use la función Ajax () para enviar una solicitud al archivo admin-ajax.php. Nos aseguramos de que el tipo de solicitud sea Post y que la acción también esté dada. Los elementos del objeto de datos se transportarán como miembros de la matriz $ _post. Se implementa una función exitosa, que reemplazará el botón con el texto que ya hace clic si la respuesta es “Aceptar”.
Tenga en cuenta que desde el punto de vista del archivo admin-ajax.php, esta solicitud es casi la misma que cuando enviamos a nuestros usuarios directamente al archivo. La acción se establece y, por lo tanto, nuestro gancho delantero funcionará de la misma manera.
Cargue los esenciales 4B40F2C4D42973A22BA6
Esta vez no necesitamos redirigir al usuario, porque no saldrá primero la página. Tienes que hacer eco de “OK”, que será utilizado por nuestra función exitosa y tienes que morir (). Esto es necesario porque el archivo admin-ajax.php se eco de “0” de lo contrario. Una vez que un usuario hace clic en un botón, todo se administra asíncrono. Los usuarios pueden continuar usando el sitio mientras se lleva a cabo esta acción. El botón eventualmente se reemplazará (bastante rápido) con el texto en el que se ha hecho clic. Si el usuario recarga la página, no verá el botón nuevamente, porque ya ha hecho clic. Para ser correcto, funcionará, pero no redirigirá al usuario de regreso a la página que era, porque haremos eco de “0” y luego moriremos. WordPress ofrece a Constanta Doing_ajax, que podemos usar para determinar si tiene lugar una solicitud AJAX. Si es así, Echo y nosotros morimos, si no, entonces redirigimos:
Cargue los esenciales 4B40F2C4D42973A22BA6

Usando este método, podemos usar las mismas funciones y el mismo flujo de trabajo para administrar situaciones en las que se activa JavaScript y situaciones en las que no se activa. Cargue los resultados de la búsqueda de su sitio con AJAX para cambiar el tema de veinte y cuatro para cargar los resultados de búsqueda usando AJAX en la página de búsqueda. El primer paso es crear un tema para el niño. Eche un vistazo a nuestro artículo sobre cómo crear la tarea de los niños de WordPress para obtener más información. Poner los activos en la cola y luego poner el archivo JavaScript que usaremos para implementar nuestra funcionalidad de JavaScript. Tenga en cuenta que me aseguraré de que el script se cargue solo en la página de búsqueda. La razón de esto es que la página de búsqueda puede tener una barra lateral diferente de la página habitual con la lista. Entonces, cuando el usuario busque la primera vez, se cobrará la página de búsqueda. Una vez en la página de búsqueda, los resultados se ingresarán a través de AJAX. El esencial 4B40F2C4D4D42973A22BA6 se carga
Utilicé la función wp_localise_crind () para asegurarme de tener acceso a la ubicación de nuestro archivo admin-ajax.php. Anteriormente, se podía tomar de la URL de nuestro botón, pero no podemos sacarlo de la página aquí. La función wp_localise_criver () se puede usar para agregar soporte de lenguaje a sus scripts también es una excelente manera de transmitir variables, como utilicé aquí. Esto nos permitirá usar Myajax.AJAXURL para indicar la URL correcta en JavaScript. También pongo un archivo CSS en la cola. El código CSS mínimo que usaremos bien podría agregarse a la hoja de estilo del niño. Elegimos hacer cola un archivo dedicado simplemente para compartimentar nuestros activos, lo que hace que sea más fácil crear un complemento al final. Intercepción de las búsquedas El siguiente paso es interceptar las búsquedas, detenerlas y pasar la consulta de búsqueda a nuestro script personalizado, que devolverá los nuevos resultados. Establezcamos el JavaScript para esto ahora: Cargue los esenciales 4B40F2C4D42973A22BA6
Utilizamos el evento Begeforesend para agregar una clase de carga al elemento de contenido y para deshabilitar la entrada. Esto le dará a los usuarios un comentario y se asegurará de que múltiples búsquedas no conduzcan a múltiples solicitudes. Para el éxito, el contenido del elemento #content se reemplaza por los nuevos resultados. El CSS que usaremos para administrar la carga es el siguiente, que desvanecerá el contenido y producirá una hermosa superposición de carga:
Cargue los esenciales 4B40F2C4D42973A22BA6
Y así es como se ve todo en el front-end:
Cargando las publicaciones con AJAX La parte del servidor Nuestra acción de nuestra llamada JavaScript fue Load_search_Results. Tendremos que usar esto en las acciones que crearemos. Esta vez, tendremos que asegurarnos de que se están ejecutando para usuarios conectados y desconectados, por lo que usaremos WP_AJAX y WP_AJAX_NOPRIV. Crearemos una consulta personalizada de WordPress y usaremos exactamente el mismo código que se encuentra en Search.php en veinte Cuartre de los Cuarteles para devolver nuestros resultados: Cargue el esencial 4B40F2C4D42973A22BA6
El resultado de esta función es algo HTML, que se crea utilizando funciones nativas para WordPress y veinte Cuartre. Esto nos asegura que obtendremos el formato correcto cada vez, incluso si no se encuentran publicaciones. Conclusión de pequeñas mejoras en la interfaz para usar a aumentos de rendimiento a mayor escala, AJAX es un excelente complemento para su conjunto de herramientas de WordPress. Cuando lo conozca por primera vez, es posible que deba probarlo para envolverlo, pero es realmente muy simple. Es la complejidad la que se puede agregar a través del complejo JavaScript en el complejo frontal y PHP en el lado del servidor, lo que a veces se dificulta un poco más, no a Ajax. Si está interesado en la funcionalidad de AJAX, le recomiendo que naveguen los complementos AJAX disponibles en el almacén de complementos de WordPress. También le sugiero que lea el tutorial Ajax W3Schools y la documentación para la función jQuery AJAX.
Si ha creado algo genial usando Ajax en WordPress o cree que algunos aspectos de WordPress se beneficiarían enormemente al agregar algo de Ajax, háganos saber en los comentarios a continuación.
Ajax
comentario

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *