Trabajando con tablas de bases de datos personalizadas en WordPress

  • Owen Little
  • 0
  • 2277
  • 312
Anuncio

Te he mostrado muchas formas en que WordPress ya es el CMS más flexible. 5 cosas que quizás no sabías que podías hacer con Wordpress 5 cosas que no sabías que podrías hacer con Wordpress Siendo el sistema de blogs más versátil de la historia, no es Sorprende que los desarrolladores hayan torcido y empujado a Wordpress a convertirse en mucho más a través del uso inteligente de complementos. Si pensabas que Wordpress era solo para ... Un escaneo rápido de la página Lo mejor de los complementos de WordPress también revelará algunas de las muchas formas únicas y específicas en las que puede hacer que su blog trabaje más. Incluso te he mostrado cómo utilizar tipos de publicaciones personalizadas Cómo hacer tu propia lista de eventos usando tipos de publicaciones personalizados en WordPress Cómo hacer tu propia lista de eventos usando tipos de publicaciones personalizadas en WordPress WordPress te permite usar tipos de publicaciones personalizadas para ampliar Funcionalidad incorporada. Aquí se explica cómo hacerlo sin complementos. 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 que le mostramos cómo crear una lista de eventos simple 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 ...; pero he dejado una cosa afuera, creo.

¿Qué sucede si ya tiene una base de datos de información de clientes, pero desea poder consultar esos datos y mostrarlos dentro de una plantilla de WordPress? Hoy te mostraré cómo hacerlo, de forma segura en el motor de WordPress.

Requisitos

  • Su propio sitio de WordPress autohospedado, obviamente.
  • Habilidades básicas de PHP y MySQL: recomiendo los tutoriales de Tizag PHP y MySQL, ya que cubren más que suficiente y puede trabajar en 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 única base de datos con ambos conjuntos de datos: esto significa que necesita fusionar las tablas de la base de datos de WordPress en una base de datos existente y cambiar wp-config.php para reflejar el nuevo nombre de usuario y contraseña de la base de datos; o importe un conjunto de datos existente a su base de datos de WordPress. Es más fácil si no tiene otro sistema que se base 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 comando SSH Cómo hacer una copia de seguridad de su sitio web a través de la línea de comando SSH Cómo hacer una copia 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, que requiere una variedad de complementos o planes adicionales de su proveedor de alojamiento, pero no tiene por qué serlo realmente. Si tiene SSH ... si necesita algunos consejos allí.

Este tutorial es tan avanzado como vamos a obtener en MakeUseOf, pero debería abrir un mundo de posibilidades para ti.

¿Por qué haría 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 guste 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 del cliente simple, y crearemos una plantilla de página que enumera estos clientes, solo para usuarios registrados de WordPress (aunque la página en sí será accesible desde el front-end del sitio ).

Como referencia para los nombres de columnas y tablas en la base de datos, puede resultarle útil instalar el complemento del Navegador de base de datos, que también le permitirá ejecutar funciones básicas 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é precisamente vamos a hacer aquí??

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

Hacer una plantilla personalizada

Si desea utilizar parte de su propio código PHP, la forma más fácil de hacerlo es crear una plantilla personalizada y luego aplicar la plantilla a una página en particular que cree en WordPress. Comience abriendo sus archivos de tema y duplicando el page.php (o single.php si no hay uno) Renombrarlo como algo obvio, como “template-clients.php” como he elegido.

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

/ * Nombre de la plantilla: Clientes * /

Obviamente, llámalo como quieras.

Ahora, encuentre la función de contenido principal. Puede eliminarlo si lo desea, pero solo voy a agregar el código adicional después. Con el tema predeterminado de once once, estás buscando:

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

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

Antes de que podamos verificar esto, necesitaremos 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 ("SELECCIONAR * DESDE clientes;"); print_r ($ clientes); ?>

Guarde y actualice la página. los función print_r () simplemente descarta todos los datos del objeto del cliente, por lo que debería ver que su simple instrucción SQL para seleccionar todo de la tabla del cliente ha funcionado bien. Ahora todo lo que necesita hacer es analizar los resultados a algo utilizable. Por supuesto, puede poner cualquier instrucción de selección SQL en el tener resultados() método, pero no estoy aquí para enseñarte SQL, así que nos quedaremos con solo 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 armarlo 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 de cliente dentro de un para cada, Puede acceder fácilmente a los nombres de campo con $ cliente-> nombre_campo - realmente no podría ser más simple.

Asegurando cosas

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

get_results ("SELECCIONAR * DESDE 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;?>

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

Si desea restringir esto a ciertos niveles de usuarios en lugar de a todos los usuarios registrados, entonces usaría el current_user_can () en cambio, condicional, junto con una capacidad asociada (sobre capacidades en el códice). Esto verificaría si hay usuarios administradores, por ejemplo, los únicos usuarios que pueden administrar las opciones de complementos:

current_user_can ('manage_options')

Resumen

Lo dejaré allí hoy, ya que cualquier otra cosa se convertiría en un tutorial de SQL o cómo diseñar su 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 insertar datos nuevamente en su base de datos personalizada usando un formulario en la página y un poco de magia AJAX / jQuery. Y eche un vistazo a algunas de nuestras otras guías de WordPress, como resolver 500 errores internos del servidor y páginas en blanco La guía definitiva para resolver 500 errores internos del servidor y páginas blancas en blanco en WordPress La guía definitiva para resolver 500 errores internos del servidor y páginas blancas en blanco en WordPress ¿Tiene problemas con 500 errores internos del servidor y páginas en blanco en WordPress? Aquí se explica cómo solucionarlos de inmediato. y miniaturas destacadas y tamaños de imagen La guía completa de miniaturas destacadas y tamaños de imagen en WordPress La guía completa de miniaturas destacadas y tamaños de imagen en WordPress Aquí encontrará todo lo que necesita saber sobre los tamaños de imagen en WordPress y la administración de imágenes destacadas. .

¿Todavía no tienes una instalación de WordPress? 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. .




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.