Trabajar con tablas de bases de datos personalizados en wordpress
Os he mostrado muchas maneras en que WordPress ya es el CMS más flexible. Un análisis rápido de la Lo mejor de plugins de WordPress página también revelará algunas de las muchas maneras únicas y de nicho que puede hacer su trabajo más duro del blog. He incluso le mostró cómo hacer uso de tipos de envíos personalizados para crear su propio Mini base de datos- pero yo he dejado una cosa, yo creo.5 cosas que no podrían haber sabido que podría hacer con Wordpress5 cosas que no podrían haber sabido que podría hacer con WordpressSiendo el sistema de blogs más versátil jamás, no es de extrañar que los desarrolladores han torcido y tiró de Wordpress para convertirse en mucho más a través del uso inteligente de los plugins. Si usted pensó que era sólo para Wordpress ...Lee mas
¿Qué pasa si usted ya tiene una base de datos de, por ejemplo, la información del cliente, pero que desea ser capaz de consultar esos datos y mostrarlo dentro de una plantilla de WordPress? Hoy voy a estar mostrando que acaba de cómo hacerlo, con seguridad dentro del motor de WordPress.
requisitos
- Su propio sitio de WordPress alojado en sí mismo, obviamente.
- PHP MySQL básico y habilidades - recomiendo los tutoriales Tizag PHP y MySQL, ya que cubren más que suficiente y se puede trabajar a través de ellos en un día y hacer referencia a ellos de nuevo cuando sea necesario.
- Un conjunto de datos existente en MySQL.
- línea de comandos de acceso a phpMyAdmin para fusionar las bases de datos.
- Una única base de datos con ambos conjuntos de datos - esto significa que o bien tiene que combinar sus tablas de la base de WordPress en una base de datos existente y el cambio wp-config.php para reflejar el nuevo nombre de usuario y la contraseña de la base de datos detalles- o importar un conjunto de datos existente en la base de datos de WordPress. Es más fácil si usted no tiene otro sistema que está confiando en los datos. De cualquier manera, voy a suponer que usted ha hecho este paso ya - echa un vistazo a mi artículo sobre cómo hacer una copia de seguridad completa a través de una línea de comandos SSH si necesita algunas indicaciones allí.
Este tutorial es tan avanzado como vamos a conseguir por lo MakeUseOf, pero debe abrir un mundo de posibilidades para usted.
¿Por qué haría esto?
A pesar de los muchos plugins y extensiones disponibles para nosotros en WordPress, a veces ya dispone de un conjunto de datos y la migración a un formato de WordPress le gusta sería más problemas de lo que vale - especialmente si usted entonces tiene otro sistema que necesita para interoperar con.
Hoy en día, voy a estar tomando el ejemplo de una base de datos la información del cliente simple, y que va a crear una plantilla de página que enumera estos clientes - sólo para los usuarios de WordPress registrados (aunque la propia página será accesible desde la parte delantera del sitio ).
Como referencia para los nombres de columna y de tabla en la base de datos, puede que le resulte útil para instalar el plugin para el navegador de base de datos, lo que también permite ejecutar básica dónde y ordenado por consultas para probar el código SQL. Aquí hay una captura de pantalla con una muestra de datos que he creado - en este caso, una tabla llamada Clientes, que contiene información básica sobre cada uno de mis clientes muy importantes.
Precisamente lo que vamos a hacer aquí?
- Creación de una nueva plantilla de página que podremos aplicar un poco de código PHP personalizado a.
- En cuanto a cómo crear una consulta personalizada de la base de datos y, a continuación, analizar los resultados - Uso de las clases de base de datos de WordPress.
- En cuanto a los permisos en caso de que desee restringir el acceso.
Hacer una plantilla personalizada
Si desea utilizar algunos de su propio código PHP, la manera más fácil de hacer esto es crear una nueva plantilla, a continuación, aplicar la plantilla a una página en particular se crea en WordPress. Comienza con la apertura de seguridad de sus archivos de temas y la duplicación de la page.php (o single.php si no hay uno). Cambiarle el nombre algo obvio, como “plantilla-clientes.php”Como yo he elegido.
En la parte superior del archivo, tenemos que decirle WordPress se trata de una nueva plantilla. Para ello, agregue la siguiente (Esto es un comentario estilo de PHP, por lo que debe ser después de cualquier etiqueta de apertura de PHP si está presente):
/ * Nombre de la plantilla: Clientes * /
Obviamente, lo llaman lo que quiera.
Ahora, encontrar la función de contenido principal. Puede eliminarla si quieres, pero yo sólo voy añadir el código extra después de ella. Con el vigésimo las once de tema por defecto, que está buscando:
? Lt; php get_template_part ( `contenido`, `página`) - gt?;
Sin embargo, en la mayoría de los temas, que va a ser algo así como:
? Lt; php the_content () - gt?;
Esa es la parte que muestra el contenido de la entrada, así que cualquier cosa se agrega después de que se le aparecen a continuación de la zona de la página principal. Sólo para comprobar que todo es trabajo, vamos a añadir una declaración básica de eco y guardar el archivo.
lt;? php echo "Esta es nuestra nueva plantilla!"- gt;
Antes de que podamos comprobar esto, tendremos que crear una página en la página de administración de WordPress, y aplicamos nuestra plantilla de página a la misma.
Publicar y echa un vistazo a la página para ver si su estado de eco ha trabajado.
Vídeo: Bases de datos con wordpress
La clase de consulta personalizada
Para obtener acceso directo a la base de datos, todo lo que necesita hacer es utilizar el objeto $ wpdb por lo que es global. Estas tres líneas deben hacerlo - sustituir la instrucción echo genérica que hicimos antes con esto:
lt;? phpglobal $ wpdb- $ clientes = $ wpdb-gt; get_results ("* SELECT clientes-") -print_r clientes ($) - gt;
Guardar y actualizar la página. los función print_r () simplemente vuelca a cabo todos los datos de objeto del cliente - por lo que debe ver que su sencilla instrucción SQL para seleccionar todo, desde la tabla de clientes ha funcionado muy bien. Ahora todo lo que necesita hacer es analizar los resultados a algo utilizable. Por supuesto, se puede poner cualquier sentencia SQL select en el tener resultados() método, pero no estoy aquí para enseñar que SQL así que me quedo con sólo sacar todo por ahora.
Para analizar los resultados fuera en algo más importante, sólo va a utilizar una tabla básica por ahora. Reemplace la print_r método con el código siguiente (No se preocupe, voy a pegar el código completo más adelante si usted no quiere pieza que junto a ti mismo):
eco "
". $ Cliente-gt; nombre." | "-eco "". $ Cliente-gt; de correo electrónico." | "-eco "". $ Cliente-gt; teléfono." | "-eco "". $ Cliente-gt; dirección." | "-eco "
Una vez que tenga cada objeto dentro de un cliente para cada, se puede acceder a los nombres de campo con facilidad $ Cliente-gt; nombre_campo - en realidad no puede ser más sencillo.
Vídeo: Como Crear una Base de Datos para Wordpress o Joomla
asegurar cosas
En este caso, yo realmente no quiero que mis datos de los clientes que aparecen a cualquiera e indexados por los motores de búsqueda - pero yo todavía quiero en la parte delantera muestra utilizando esta plantilla- ¿Qué podemos hacer? Fácil, vamos a hacer uso del condicional WordPress is_user_logged_in (), y mostrar un mensaje rápido, si no lo son. Aquí está todo el bloque de código nuevo con añade el nuevo condicional:
lt; phpif (is_user_logged_in ()):? $ $ wpdb- global de clientes = $ wpdb-gt; (get_results"* SELECT clientes-")-eco "
". $ Cliente-gt; nombre." | "-eco "". $ Cliente-gt; de correo electrónico." | "-eco "". $ Cliente-gt; teléfono." | "-eco "". $ Cliente-gt; dirección." | "-eco "
Guardar y actualizar, y todavía se debe ver el contenido. Sin embargo, la sesión, entonces actualizar la página, y ahora verá el “Sólo usuarios registrados ...”Mensaje.
Si usted quiere limitar este a ciertos niveles de usuarios, más que todos los usuarios registrados, entonces se usaría el current_user_can () condicional en su lugar, junto con una capacidad asociada (saber más acerca de las capacidades en el Codex). Esto sería comprobar si hay usuarios administradores, por ejemplo - los únicos usuarios que pueden administrar opciones del plugin:
Vídeo: Base de datos, plugin para WordPress
current_user_can ( ``) manage_options
Resumen
Voy a dejarlo ahí hoy en día como cualquier otra cosa se convertiría en una SQL tutorial o cómo el estilo de su salida con CSS (tenemos una excelente guía gratuita en eso, por cierto). El cielo es realmente el límite con WordPress, y espero que esto resulta muy útil para algunos de ustedes en sus proyectos de WordPress.Cómo editar Miles de Wordpress Mensajes con sólo un comando SQLCómo editar Miles de Wordpress Mensajes con sólo un comando SQLCreciendo un blog lleva años, y una gran cantidad de dolor y lucha. Luego están las principales transiciones, cuando se dan cuenta de que usted tiene que hacer algunos cambios importantes, y va a tomar ...Lee mas
La semana que viene voy a estar abordando el tema un poco más complicado de cómo insertar datos de nuevo en su base de datos personalizada mediante un formulario en la página, y un poco de la magia de AJAX / jQuery.
¿Tiene algún problema, o quiere disparar algunas ideas de encima? Los comentarios están abiertos para todos, así que por favor seguir adelante y voy a intentar mi mejor esfuerzo para responder a ellas.