Novedad: Soporte y plugins personalizados sólo para socios

Custom content

Sin ninguna otra dependencia crea rápidamente tu propio plugin ligero para definir contenidos en WordPress: custom post types, taxonomy & custom fields.

Como se trata de tu propio plugin es como si tu mismo lo hubieras programado, por lo que será ligero, y podras modificarlo y ampliarlo a tu gusto teniendo en cuenta que es un plugin «marca blanca».

Puedes descargar este plugin y «customizarlo» con sólo acceder al 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 si no quieres.

Otra opción es usar el personalizador de plugins en la zona socios y descargar el plugin listo para instalar, con todo el código ya preparado como si tu mismo lo hubieras programado en base a lo que definas en el formulario de descarga personalizada. 🙂

En definitiva tendrás a tu diposición tu propio plugin para mostrar contenidos tal que así:

Ejemplo custom post type, taxonomy & custom fields

Crear contenidos personalizados – custom post types

Este plugin te permite crear tu propio plugin para crear custom post types (CPTs) del modo más rapido y eficiente al mismo tiempo.

Sólo tienes que usar el personalizador de plugins o si no eres todavía socio, simplemente descargar el plugin y modificar el fichero de configuración, el cual viene preparado con un ejemplo: «Proyecto»

<?php

$post_types = [
    [
        'post_slug'     => 'proyecto',
        'singular'      => __( 'Proyecto', 'custom-content' ),
        'plural'        => __( 'Proyectos', 'custom-content' ),
        'public'        => true,
        'hierarchical'  => false, //WPO
        'menu_icon'     => 'dashicons-portfolio',
        //'title, editor, author, thumbnail, excerpt, trackbacks, custom-fields, comments, revisions, page-attributes, post-formats'
        'supports'      => 'title, editor, thumbnail, excerpt, page-attributes',
        'taxonomies'    => 'categoria',
        'has_archive'   => false,
        'show_in_rest'  => true, //Add to Gutenberg ( blocks editor )
        'rewrite'       => ''  //rewrite default slug
    ]
];

Con solo duplicar este array presentado ya tendrás un nuevo tipo de contenido personalizado, o todos los que quieras. 🙂

Se ha simplificado al máximo los datos necesarios para definir un custom post type y tenerlo listo en cuestión de menos de 1 minuto.

  • post_slug : el slug único del CPT
  • singular: escribe una sola vez la etiqueta en modo singular
  • plural: idem anterior pero se aplicará para las etiquetas plurales
  • public: indica true/false para determinar si será o no público
  • hierarchical: true/false para determinar si será tipo «post» o «página»
  • menu_icon: indica el icono «dashicon» para identificarlo
  • supports: escribe los elementos que tendrá como título, imagen destacada, etc
  • taxonomies: aquí se indican las taxonomías a las que asociarlo
  • has_archive: true/false para determinar si tendrá página de archivo
  • show_in_rest: para mostrarlo o no con el editor de bloques (Gutenberg)
  • rewrite: de modo opcional escribe aquí cómo quieres que sea la url

Estos son los puntos básicos para definir rápidamente los custom post types a incluir en el plugin personalizado de contenidos, pero podrías llegar tal vez a querer añadir más campos, y es algo que podrás realizar añadiendo más líneas al array en base a la documentación oficial de WordPress.


Crear categorización personalizada – custom taxonomies

Al igual que para los tipos de contenidos personalizados, para añadir «custom taxonomies» no hay mucha más complicación. Tan solo se trata de basarse en el código de configuración de muestra y adaptarlo a tus necesidades.

<?php

$taxonomies = [
    [
        'tax_slug'          => 'categoria',
        'tax_post_types'    => 'proyecto',
        'tax_singular'      => __( 'Categoría', 'custom-content' ),
        'tax_plural'        => __( 'Categorías', 'custom-content' ),
        'tax_public'        => true,
        'tax_hierarchical'  => true,
        'tax_show_in_rest'  => true,
        'tax_rewrite'       => ''  //rewrite default slug
    ]
];

Recuerda que con solo duplicar el array de muestra tantas veces como quieras tendrás nuevas taxonomias creadas para tu WordPress.

  • tax_slug : el slug único de la taxonomía
  • tax_post_types: puedes indicar separados por comas todos los tipos de contenidos a los que añadir esta categorización, incluyendo los nativos: post, page
  • tax_singular: escribe una sola vez la etiqueta en modo singular
  • tax_plural: idem anterior pero se aplicará para las etiquetas plurales
  • tax_public: indica true/false para determinar si será o no público
  • tax_hierarchical: true/false para determinar si será tipo «categoría» o «etiqueta»
  • tax_show_in_rest: para mostrarlo o no en la Rest API
  • tax_rewrite: de modo opcional escribe aquí cómo quieres que sea la url

Estos son los puntos básicos para definir rápidamente las taxonomías personalizadas (categorías) a incluir en el plugin personalizado de contenidos, pero al igual que para los CPTs podrías llegar tal vez a querer añadir más campos, y es algo que igualmente podrás realizar añadiendo más líneas al array en base a la documentación oficial de WordPress.


Crear campos personalizados sin ACF 🙂

Crear campos personalizados en WordPress es por regla general sinónimo de instalar el plugin Advanced custom fields… o también conocido como ACF.

Reflexión:

¿ es esto correcto en el caso de sólo querer unos pocos campos personalizados sencillos? ¿es necesario instalar un plugin como ACF que es cada vez más complejo si lo podemos hacer con un par de funciones en nuestro propio plugin ?

Si para crear custom post types CPT no se recomienda usar plugins ya que son pocas líneas de código… no parece que exista la misma recomendación en el caso de querer añadir campos personalizados a nuestros tipos de contenidos personalizados… ¿el motivo? Parece ser que porque ya si son algunas líneas más de código… Pero si ves el código de este plugin «marca blanca» verás que es muy sencillo, y sólo tienes que aprender a programarlo una vez!

Bueno,… en realidad no tienes ni que aprenderlo ni una sola vez… ya que si usas este plugin te basarás en que SumaPress ya lo hizo una vez por tí brindandote este plugin marca blanca. 🙂 La idea es crear una vez el código y dejarlo preparado para reutilizarlo con solo cambiar un fichero de configuración.

Descarga este plugin «marca blanca» y tendrás en menos de 1 minuto una variedad de campos personalizados como si tu mismo los hubieras programado en tu propio plugin de contenido, y con una apariencia tal que así:

Ejemplo campos personalizados

Con este plugin gratuito a tu disposicion «Custom Content» puedes crear campos personalizados como si tu mismo los hubieras programado, pudiendo ser estos de tipo: desplegable, radio, texto, url, número, email, fecha, color y booleano.

No te pierdas el modo descarga personalizada que puedes ver en la zona socios ya que es una manera muy cómoda y rápida de crear tu propio plugin para añadir contenidos personalizados a WordPress.

En cualquier caso, en el enlace de arriba del todo ( bajo el título de esta página) puedes descargar de modo gratuito el plugin en formato «marca blanca» en el cual vienen preparados a modo de ejemplo varios campos personalizados para el custom post type «proyectos».

De modo similar a los apartados anteriores tan solo tienes que modificar el código de ejemplo para adaptar el plugin a tus necesidades.

<?php

$custom_fields = [
    [
        'field_title'     => __( 'Título 1', 'custom-content' ),
        'field_post_type' => 'proyecto',
        'field_type'      => 'radio', //select, radio, text, url, number, email, date, color, boolean
        'field_key'       => 'suma_radio', //key to save on database: important to render later on templates
        'field_options'   => 'Opción 1, Opción 2, Opción 3', // separate by comma only on type: select or radio
        'field_column'    => true, // true or false to show or not column on admin list
    ],
    [
        'field_title'     => __( 'Título 2', 'custom-content' ),
        'field_post_type' => 'proyecto',
        'field_type'      => 'boolean', //select, radio, text, url, number, email, date, color, boolean
        'field_key'       => 'suma_boolean', //key to save on database: important to render later on templates
        'field_options'   => '', // separate by comma only on type: select or radio
        'field_column'    => true, // true or false to show or not column on admin list
    ],
    [
        'field_title'     => __( 'Título 3', 'custom-content' ),
        'field_post_type' => 'proyecto',
        'field_type'      => 'color', //select, radio, text, url, number, email, date, color, boolean
        'field_key'       => 'suma_color', //key to save on database: important to render later on templates
        'field_options'   => '', // separate by comma only on type: select or radio
        'field_column'    => true, // true or false to show or not column on admin list
    ]
];
  • field_tittle: indica el nombre – etiqueta que aparecerá como referencia para rellenar el campo personalizado en el backend.
  • field_post_type: escribe el slug del CPT donde añadir este campo personalizado, pudiendo también ser los nativos: post, page.
  • field_type: selecciona el tipo de campo personalizado que más se adecue a lo que necesitas.
  • field_key: escribe un nombre unico en minúsculas para guardar en la base de datos. Este será la key para traer el dato en el frontend.
  • field_options: Opcional: escribe separados por comas las opciones a elegir en el caso de que eligas un tipo de SELECCIÓN.
  • field_column: puedes elegir si mostrar o no este campo personalizado como columna en el listado de custom post types del backend.

¿hay un modo más rápido, fácil y eficiente de crear tus propios custom fields para WordPress? Siempre estará ACF para cuando lo necesites, pero cuestiona si esto debe ser siempre asi… ya que si ves el código del plugin son solo un par de funciones.

Añade tantos campos personalizados como necesites ampliando el array de configuración del plugin, y mostrandose estos tanto en el editor clásico como en el nuevo editor de bloques, saliendo de modo agrupado todos ellos juntos en un mismo metabox, tratando así de conseguir la máxima simplicidad a este que espero sea desde hoy tu propio plugin de contenidos para WodPress.


Notas finales:

Recuerda que para aplicar los cambios tienes que activar nuevamente el plugin si has realizado modificaciones en el fichero de configuración de este plugin: setup/activation.php

También destacar que no necesitas regenerar los «permalinks» o enlaces permanentes ya que el plugin lo hace en su activación/desactivación.

Este plugin es recomendable al ser de tipo contenido, integrarlo en WordPress como mu-plugin, por lo que te será de gran utilidad situarlo dentro del SumaPress Boilerplate: plugin base

En definitiva, tienes a tu disposición un plugin para optimizar procesos y crear más rápidamente y eficientemente nuevos tipos de contenidos para WordPress con un plugin propio.

¡ No hay modo más rapido de crear tu propio plugin para definir contenidos personalizados para WordPress ! 🙂

NO te pierdas las novedades de este repositorio de plugins