Cómo integrar una tabla de base de datos personalizada en WordPress y usar funciones de WordPress

6 ene 2011, 20:33:30
Vistas: 34.9K
Votos: 8

Estoy usando Wordpress 3.0.4 y tengo dificultades para decidir qué camino tomar. Este es mi problema:

Tengo una tabla de base de datos mysql llamada widgets, con aproximadamente 10 propiedades como id, tamaño, color, etc.

Ahora me gustaría integrar esta tabla en Wordpress, preferiblemente de tal manera que pueda obtener listas paginadas de los widgets, mostrar información de un widget individual y tener un diseño flexible.

Preferentemente, me gustaría tener la capacidad de modificar una plantilla personalizada de tal manera que pueda cambiar la posición de cada propiedad en la página (Por ejemplo, tal vez me gustaría poner la propiedad-tamaño en la parte superior izquierda de la página, y más tarde podría querer ponerla en la parte inferior derecha).

¿Cuál sería la mejor manera de almacenar los widgets, recuperarlos utilizando la mayor cantidad posible de funciones incorporadas de Wordpress y cómo puedo obtener este diseño flexible también?

He desarrollado mis propios plugins anteriormente, así que tengo más que conocimientos básicos en Wordpress/PHP/MySQL.

1
Comentarios

Por favor, revisa este plugin http://wordpress.org/extend/plugins/custom-tables/, me ahorró mucho trabajo, solo define los campos de tu tabla y luego importa tus datos.

User User
11 abr 2012 19:24:12
Todas las respuestas a la pregunta 4
3

Precisamente para eso están los tipos de contenido personalizados.

Si fuera mi proyecto, eliminaría la tabla personalizada que tienes, configuraría un tipo de contenido personalizado para tus "widgets", agregaría todos tus widgets existentes como contenido regular de WordPress y usaría las funciones y plantillas estándar de WordPress para consultarlos y mostrarlos.

Requiere un poco de inversión a corto plazo (si tienes muchos datos existentes que necesitas migrar), pero a largo plazo es mejor tener todo tu contenido en las tablas estándar de WordPress y mostrarlo usando las funciones y plantillas estándar de WordPress, a menos que haya una razón realmente convincente para no hacerlo.

6 ene 2011 21:19:56
Comentarios

Gracias MathSmath, en este caso ¿quieres decir que convierta los datos de la tabla en posts? Supongo que en ese caso necesitaría usar metadatos de posts para tener flexibilidad en el diseño, ¿no?

JanWillem JanWillem
6 ene 2011 21:34:02

Sí, usarías metadatos de posts para añadir cualquier número de campos personalizados (que se correlacionarían con las columnas de tu tabla) y luego, basándote en eso, crear diferentes diseños según qué "widget" tenga qué metadatos de post.

Don Gilbert Don Gilbert
6 ene 2011 22:11:34

Para los que lleguen aquí a través de Google... hay un montón de plugins que te permitirán importar (y luego actualizar usando) archivos CSV y convertirlos en contenido de tipos de posts personalizados. Hurra por cuatro años después.

Will Will
7 ago 2015 02:08:52
1

Si esta tabla está en la misma base de datos que tu instalación de WordPress, puedes usar $wpdb para obtener datos de ella. De lo contrario, puedes instanciar tu propio objeto wpdb con los detalles de conexión para otra base de datos.

No estoy seguro de qué quieres decir con widgets en este caso, no parece ser lo mismo que los widgets de WordPress. Como no tengo claro esto, no tengo sugerencias sobre cómo manejar la plantilla para esos elementos.

6 ene 2011 21:14:57
Comentarios

Hola Rarst, con widget me refiero a una 'cosa', podría ser un libro, coche, vino, básicamente cualquier cosa con propiedades.

JanWillem JanWillem
6 ene 2011 21:34:39
0

Por cierto, hemos implementado algo similar donde SÍ estamos extrayendo los datos de una fuente externa. Creamos tipos de contenido personalizados y funciones que se activan mediante diferentes hooks de WordPress, con el resultado de que podemos mostrar todo tanto a los visitantes del sitio como en wp-admin. Las publicaciones no se almacenan en wpdb, ni siquiera como publicaciones "proxy".

Así que SÍ es posible hacerlo de esa manera, aunque aún no hemos encontrado una forma de usar la papelera para eliminarlos, y terminé agregando mis propios enlaces de paginación en wp-admin usando JQuery.

A menos que tengas una muy buena razón para hacerlo de esta manera, estoy de acuerdo con @MathSmath: crea un tipo de contenido personalizado y almacénalos como publicaciones "reales" de WordPress.

23 ago 2011 14:38:16
1
-1

Por lo que sé, lo que querías hacer se puede lograr fácilmente usando Caspio. Ni siquiera tienes que usar ninguna base de datos. Ellos proporcionan una base de datos en línea sobre la cual puedes crear todo tipo de funcionalidades basadas en bases de datos. Aquí hay un video que vi de ellos que muestra cómo construir e incrustar una base de datos de contactos buscable en un sitio de WordPress en solo unos minutos sin necesidad de codificar: https://www.youtube.com/watch?v=BgHV7ZPplo0

¡Espero que esto ayude!

23 feb 2015 22:01:26
Comentarios

Esta no es una respuesta a la pregunta.

Nilambar Sharma Nilambar Sharma
24 feb 2015 05:34:51