Trabajar con tablas de bases de datos personalizadas en WordPress

Trabajar con tablas de bases de datos personalizadas en WordPress / Wordpress y desarrollo web

Te he mostrado muchas formas en las que WordPress ya es el CMS más flexible 5 Cosas que quizás no sabías que podrías hacer con Wordpress 5 Cosas que quizás no sabías que podrías hacer con Wordpress Siendo el sistema de blogs más versátil que nunca, no hay sorprenda que los desarrolladores hayan retorcido y hecho que Wordpress se convierta en mucho más a través del uso inteligente de los complementos. Si pensabas que Wordpress era solo para… Leer más. Un escaneo rápido de la página Lo mejor de los complementos de WordPress también revelará algunas de las muchas formas exclusivas y específicas de cómo puedes hacer que tu blog trabaje más. Incluso le he mostrado cómo hacer uso de los tipos de publicaciones personalizadas Cómo hacer su propia lista de eventos con los tipos de publicaciones personalizadas [Wordpress] Cómo hacer su propia lista de eventos con las clases de publicaciones personalizadas [Wordpress] Una de las ventajas de usar Wordpress es Es pura flexibilidad. La versión 3 introdujo el concepto de tipos de correos personalizados para ampliar la funcionalidad incorporada. Echemos un vistazo hoy a lo que podría hacer ... Leer más para crear su propia mini base de datos Haga una base de datos de revisión de productos con Wordpress: tipos de publicaciones personalizadas, campos personalizados, imágenes destacadas y widgets. Haga una base de datos de revisión de productos con Wordpress: tipos de publicaciones personalizadas, campos personalizados, imágenes destacadas y widgets. La última vez, le mostramos cómo crear una lista simple de eventos usando quizás la característica más poderosa de WordPress 3.0: tipos de publicaciones personalizadas. Después de algunas solicitudes para desarrollar esto aún más, hoy estaremos ... Leer más; Pero me queda una cosa, creo..

¿Qué sucede si ya tiene una base de datos de información de clientes, por ejemplo, pero desea poder consultar esos datos y mostrarlos dentro de una plantilla de WordPress? Hoy les mostraré cómo hacerlo de manera segura dentro del motor de WordPress.

Requerimientos

  • Su propio sitio de WordPress alojado, obviamente.
  • Habilidades básicas de PHP y MySQL: recomiendo los tutoriales Tizag PHP y MySQL, ya que cubren más que suficiente y puedes trabajar con ellos en un día y consultarlos nuevamente cuando sea necesario.
  • Un conjunto de datos existente en MySQL.
  • Línea de comando de acceso PHPMyAdmin para fusionar las bases de datos.
  • Una sola base de datos con ambos conjuntos de datos: esto significa que debe combinar las tablas de la base de datos de WordPress en una base de datos existente y cambiar wp-config.php para reflejar los nuevos datos de nombre de usuario y contraseña de la base de datos; o importe un conjunto de datos existente en su base de datos de WordPress. Es más fácil si no tiene otro sistema que confíe en los datos. De cualquier manera, voy a suponer que ya ha realizado este paso: consulte mi artículo sobre cómo hacer una copia de seguridad completa de la base de datos a través de una línea de comandos de SSH Cómo hacer copias de seguridad de su sitio web a través de SSH Línea de comandos Cómo hacer copias de seguridad de su sitio web a través de SSH Línea de comandos Hacer una copia de seguridad de su sitio web o blog puede ser una tarea costosa y ardua, ya que requiere una variedad de complementos o planes adicionales de su proveedor de alojamiento, pero no es realmente así. Si tiene SSH ... Leer más si necesita algunos punteros allí.

Este tutorial es tan avanzado como lo haremos en MakeUseOf, pero debería abrirte un mundo de posibilidades..

Por que haria esto?

A pesar de los muchos complementos y extensiones disponibles para nosotros en WordPress, a veces ya tiene un conjunto de datos y migrarlo a un formato que le gusta a WordPress sería más complicado de lo que vale, especialmente si tiene otro sistema con el que necesita interactuar..

Hoy, tomaré el ejemplo de una base de datos de información de clientes simple, y crearemos una plantilla de página que incluya a estos clientes, solo para usuarios registrados de WordPress (aunque la página en sí será accesible desde la parte frontal del sitio). ).

Como referencia para los nombres de columnas y tablas en la base de datos, puede resultarle útil instalar el complemento Database Browser, que también le permitirá ejecutar Basic dónde y ordenar por Consultas para probar su código SQL. Aquí hay una captura de pantalla con un conjunto de datos de muestra que he creado; en este caso, una tabla llamada Clientes, que contiene información básica sobre cada uno de mis clientes muy importantes..

¿Qué es exactamente lo que vamos a hacer aquí??

  • Creando una nueva plantilla de página que luego podemos aplicar algún código PHP personalizado a.
  • Vea cómo crear una consulta personalizada a la base de datos y luego analizar los resultados, utilizando las clases integradas de la base de datos de WordPress..
  • Mirando los permisos en caso de que quiera restringir el acceso.

Hacer una plantilla personalizada

Si desea utilizar algunos de sus propios códigos PHP, la forma más sencilla de hacerlo es crear una plantilla personalizada, luego aplicar la plantilla a una página en particular que cree en WordPress. Comience abriendo sus archivos de tema y duplicando page.php (o single.php si no hay uno). Renombrarlo por algo obvio, como “plantilla-clientes.php” como he elegido.

En la parte superior del archivo, necesitamos decirle a WordPress que esta es una plantilla personalizada. Haga esto agregando lo siguiente (este es un comentario de estilo PHP, por lo que debería estar después de cualquier etiqueta PHP de apertura, si está presente):

/ * Nombre de la plantilla: Clientes * /

Obviamente, llámalo como quieras..

Ahora, encuentra la función de contenido principal. Puedes eliminarlo si quieres, pero solo voy a agregar el código adicional después. Con el tema predeterminado de veintiocho, estás buscando:

Pero en la mayoría de los temas, será algo como:

Ese es el bit que muestra el contenido de tu publicación, por lo que cualquier cosa que agregues después se mostrará justo después del área de contenido principal. Solo para verificar que todo funcione, agreguemos una declaración básica de eco y guardemos el archivo.

Antes de que podamos verificar esto, tendremos que crear una página en la página de administración de WordPress y aplicarle nuestra plantilla de página..

Publique y consulte la página para ver si su declaración de eco ha funcionado..

La clase de consulta personalizada

Para obtener acceso directo a la base de datos, todo lo que necesita hacer es usar el objeto $ wpdb haciéndolo global. Estas tres líneas deberían hacerlo: reemplace la declaración de eco genérica que hicimos anteriormente con esto:

get_results ("SELECT * FROM clientes;"); print_r ($ clientes); ?>

Guarda, y actualiza la página. los función print_r () simplemente elimina todos los datos del objeto del cliente, por lo que debería ver que su simple declaración SQL para seleccionar todo desde la tabla de clientes ha funcionado bien. Ahora todo lo que necesita hacer es analizar los resultados a algo utilizable. Por supuesto, puede poner cualquier declaración de selección de SQL en el tener resultados() Método, pero no estoy aquí para enseñarte SQL, así que nos limitaremos a agarrar todo por ahora..

Para analizar los resultados en algo más significativo, solo usaré una tabla básica por ahora. Reemplace la print_r Método con el siguiente código (No se preocupe, pegaré el código completo más adelante si no quiere que lo junte usted mismo):

eco ""; foreach ($ clientes como $ cliente) echo""; eco ""; eco ""; eco ""; eco ""; eco "";  eco "
". $ cliente-> nombre."". $ cliente-> correo electrónico".". $ cliente-> teléfono".". $ cliente-> dirección".
";

Una vez que tenga cada objeto del cliente dentro de un para cada, Puede acceder a los nombres de campo fácilmente con $ cliente-> nombre_campo - realmente no podría ser más simple.

Asegurando cosas

En este caso, realmente no quiero que los datos de mis clientes se muestren a cualquiera e indexados por los motores de búsqueda, pero aún así quiero que se muestren en la parte delantera usando esta plantilla; ¿Entonces, qué podemos hacer? Fácil, vamos a hacer uso de WordPress condicional. is_user_logged_in (), y mostrar un mensaje rápido si no lo son. Aquí está todo el bloque de código de nuevo con el nuevo condicional agregado:

get_results ("SELECT * FROM clientes;"); eco ""; foreach ($ clientes como $ cliente) echo""; eco ""; eco ""; eco ""; eco ""; eco "";  eco "
". $ cliente-> nombre."". $ cliente-> correo electrónico".". $ cliente-> teléfono".". $ cliente-> dirección".
"; else: echo" Lo sentimos, solo los usuarios registrados pueden ver esta información "; endif;?>

Guarda y actualiza, y aún deberías ver el contenido. Sin embargo, cerrar sesión, entonces actualice la página, y ahora verá el “Lo sentimos, solo usuarios registrados ... ” mensaje.

Si quisiera restringir esto a ciertos niveles de usuarios en lugar de a todos los usuarios registrados, entonces usaría el current_user_can () condicional en su lugar, junto con una capacidad asociada (lea más acerca de las capacidades en el códice). Esto comprobaría si hay usuarios administrativos, por ejemplo, los únicos usuarios que pueden administrar las opciones de complementos:

current_user_can ('manage_options')

Resumen

Voy a dejarlo allí hoy, ya que cualquier otra cosa se convertiría en un SQL Cómo editar miles de publicaciones de Wordpress con un solo comando SQL Cómo editar miles de publicaciones de Wordpress con un solo comando SQL Hacer crecer un blog lleva años, y mucho de dolor y lucha. Luego están las principales transiciones, cuando te das cuenta de que tienes que hacer algunos cambios importantes, y te llevará ... Leer más tutorial o cómo diseñar tu salida con CSS. El cielo realmente es el límite con WordPress, y espero que esto sea útil para algunos de ustedes en sus proyectos de WordPress.

La próxima semana abordaré el tema un poco más complicado de cómo volver a insertar datos en su base de datos personalizada utilizando un formulario en la página y un poco de magia AJAX / jQuery..

¿No tienes una instalación de WordPress todavía? Consulte nuestra guía para instalar WordPress en Bluehost Cómo instalar WordPress en Bluehost Cómo instalar WordPress en Bluehost Bluehost se encuentra entre los proveedores de alojamiento web más grandes y populares. Aquí hay una guía fácil sobre cómo instalar WordPress en Bluehost. Lee mas .

Explorar más sobre: ​​Herramientas para webmasters, Complementos de Wordpress.