Novedad: Soporte y plugins personalizados sólo para socios

Custom Database

Crea rápidamente en WordPress tu propia tabla personalizada en la base de datos para incluir contenidos personalizados que no son adecuados definir como CPT + custom fields, evitando así llenar de registros la base de datos con los campos personalizados que suponen una nueva línea por cada dato.

Como otros plugins de este repositorio es «marca blanca», por lo que puedes adaptarlo a tus necesidades muy fácilmente ya que dispone de un fichero de fácil configuración setup/activation.php para que modifiques parte de su comportamiento y sin por ello tener que modificar el código del plugin, el cual con sólo 64kb te permite crear aquello que imagines… como por ejemplo lo que te muestro en el siguiente vídeo:

Demo custom database

Tabla personalizada vs campos personalizados (ACF)

Creando tu propia tabla en la base de datos de WordPress puedes disponer de un conjunto de datos en una sola línea, en vez de como sucede con los campos personalizados que suponen por cada uno de los datos un nuevo registro en la tabla de postmeta.

Ejemplo: 100 contenidos con 10 campos personalizados cada uno

CPT + ACF: tendrás 100 registros en la tabla posts + 1000 registros en la tabla postmeta

Custom Database (este plugin): sólo 100 registros en tu tabla personalizada

Diferencias entre estructurar un contenido sólo con tabla propia en la base de datos o con la combinación típica de usar CPT + ACF

Esto es algo que no se suele hacer ya que crear esta estructura a medida con una tabla propia es algo más complejo que el método habitual de crear un «custom post type + ACF»; algo que en la mayoría de ocasiones es suficiente y correcto.

Por ejemplo puedes crear un conjunto de datos como los siguientes:

Ejemplo varios datos agrupados en un solo registro de la base de datos
Ejemplo tabla personalizada

Este modo de estructuras los datos en una tabla propia es algo que realizan algunos plugins, pero que no suele ser habitual realizar como parte del desarrollo de una web ya que no es algo a priori tan sencillo como crear contenidos personalizados como con el plugin custom content. En realidad gracias a la ayuda de este plugin ahora es igual de sencillo. 🙂


Guarda los datos en tablas personalizadas con la misma rapidez que custom CPTs + ACF

Ahora puedes dedicar tiempo a pensar como estructuras los datos en una tabla propia como si de un desarrollo a medida fuera de WordPress se tratara, y sin tener que recurrir siempre a la creación de CPTS + ACF cuando esto no sea la mejor elección para los datos a guardar.

La parte de backend podrás hacerla en minutos gracias a este plugin preparado especialmente para ello, estando por tanto el mayor trabajo a la hora de mostrar los datos en el frontend con el orden y estética que quieras… si es que realmente son datos que quieres mostrar públicamente en la web.

Ejemplo formulario entrada datos

Configurar tu propio plugin está al alcance de todos

En primer lugar puedes decidir cómo será el menú donde se podrán consultar en el backend e introducir todos los contenidos personalizados.

Puedes definir el nombre del menú, el icono (dashicon) y la posición respecto el resto de elementos de WordPress. Como siempre puedes elegir hacerlo con el personalizador de plugins de socios de SumaPress o acudir al fichero activation.php

<?php

$plugin_page = [
    'menu_name'     => __( 'CRM', 'custom-database' ),
    'menu_icon'     => 'dashicons-admin-users',
    'position'      => 4 //position above native posts
];

Por otra parte sólo te quedará añadir tantos campos personalizados como necesites añadir a un mismo registro, pudiendo configurar para cada dato varios aspectos.

<?php

$database = [
    [
        'key'       => 'titulo', //name of the column on database
        'type'      => 'text', // text, textarea (allow HTML), number, file, select, radio, boolean, url, email, date, color
        'label'     => __( 'Titular', 'custom-database' ), //label to show about this item
        'default'   => '', //default value if it is not data to save because of unrequired item
        'required'  => true, // set or not as required item
        'options'   => '', // separate by comma only on type: select or radio
        'column'    => true, // set to show or not on admin table of data
        'sortable'  => true // allow on admin table to order and also search by this item
    ],
    [
        'key'       => 'imagen',
        'type'      => 'file',
        'label'     => __( 'Imagen', 'custom-database' ),
        'default'   => '',
        'required'  => true,
        'options'   => '',
        'column'    => true,
        'sortable'  => true
    ],
]
  • key: el nombre (clave única) con la que se definirá la columna en la base de datos.
  • type: el tipo de dato a guardar de entre las opciones disponibles. Para que el tipo privado funcione realmente como tal, necesitarás instalar el addon: private files.
  • label: el identificador o nombre visible para este dato.
  • default: opcionalmente si quieres un valor por defecto en caso de un dato que no será obligatorio rellenar.
  • required: determina si quieres que el campo sea o no obligatorio de cumplimentar en el formulario de entrada de datos.
  • options: opcional: escribe separados por comas las opciones a elegir en el caso de que eligas un tipo de SELECCIÓN.
  • column: si quieres que el campo se muestre o no como columna en la tabla de datos del backend.
  • sortable: permite ordenar los datos en la tabla del backend en función de este dato y también permite la busqueda global teniendo en cuenta este dato.

Por otra parte hay establecidos una serie de textos de modo genérico dentro del plugin pero que puedes modificar fácilmente desde el fichero /setup/activation.php dentro de $custom_text y volviendo a realizar la activación del plugin.

RECORDATORIO IMPORTANTE: a priori todos los datos establecidos con el plugin CUSTOM DATABASE al estar en una tabla personalizada están todos protegidos de su acceso y no son públicos como los CPTs. La diferencia radica a la hora de subir datos de tipo fichero (imagen) que se guardan en la carpeta pública de medios, siendo aquí si necesario protegerlos y diferenciarlos con el addon private files en el caso de que así lo quieras.


Imaginación al poder

Ahora con este plugin puedes usar WordPres para guardar datos de un modo más eficiente, mejor estructurado y sin que esta tarea te suponga un tiempo extra respecto el ya establecido sistema de crear contenidos personalizados del tipo post + campos personalizados.

Los tipos de datos que puedes establecer son: text, textarea (allow HTML), number, file, select, radio, boolean, url, email, date, color, private

Tienes a tu disposición un plugin base para crear aquello que necesite y/o imagines. 🙂

NOTA: no te pierdas el addon private files para poder subir imagenes y documentos de modo privado cuando selecciones el tipo private.

NO te pierdas las novedades de este repositorio de plugins