Como añadir campos personalizados a cada elemento del menu

¿Alguna vez has tenido la necesidad de añadir campos personalizados a los elementos del menu? Parece que no hay una manera fácil y directa de hacerlo pero sí hay una manera.

He subido un script a github que te ayudará a conseguirlo.

Necesitarás incluir ambos archivos del repositorio en tu plugin o tema y llamar a uno de ellos, Menu.php, tal y como se indica en el ejemplo:

require_once dirname( __FILE__ ) . '/Menu.php';

Después solo necesitas construir el array de campos personalizados que necesitas y pasarlo como argumento del objeto Menu.

$fields = array(
        '_mycustom_field_1' => array(
            'label' => __( 'Custom field 1', 'domain' ),
            'element' => 'input',
            'sanitize_callback' => 'sanitize_text_field',
            'attrs' => array(
                'type' => 'text',
                ),
            ),
        '_mycustom_field_2' => array(
            'label' => __( 'Custom field 2', 'domain' ),
            'element' => 'select',
            'sanitize_callback' => 'sanitize_text_field',
            'options' => array(
                'option-1' => __( 'Option 1', 'domain' ),
                'option-2' => __( 'Option 2', 'domain' ),
                ),
            ),
        );
 
        // Menu Management custom fields.
        new \Lucymtc\Theme\Menu( $fields );

Probablemente necesites añadir estilo a través del css. Debajo de estas líneas puedes encontrar el ejemplo visual.
Espero que este script te sea de utilidad!

Como añadir valores dinámicos a los campos de Contact Form 7

Contact Form 7 es un plugin estupendo para añadir formularios a tu sitio web, pero estos formularios contienen campos estáticos y existen ocasiones en las que necesitamos añadir campos con valores dinámicos como el ID del post en el que nos encontramos o variables PHP GET y POST.

Esta tarea es muy sencilla instalando el plugin Contact Form 7 Dynamic Text Extension

Este plugin añade dos tipos de campo adicionales a Contact Form 7, estos campos son Dynamic Text field y Dynamic Hidden field, el valor dinámico para un campo específico se genera a través de un shortcode.

The plugin has it’s own shortcodes integrated, but you can create your own.
El plugin viene ya con algunos shortcodes predefinidos, pero puedes crear los tuyos propios.

Voy a poner un ejemplo muy sencillo:

Vamos a suponer que queremos añadir un campo oculto cuyo valor debe ser el ID del post en el que nos encontramos.
Si creamos nuestro propio shortocode tendría esta pinta:

function cf7_add_post_id(){
 
    global $post;
    return $post->ID;
}
 
add_shortcode('CF7_ADD_POST_ID', 'cf7_add_post_id');

Y el campo dinámico en la configuración de nuestro formulario sería:

[dynamictext my-filed-name "CF7_ADD_POST_ID"]

La otra manera de hacerlo es usando los shortocdes integrados en el propio plugin.
En este caso queremos obtener el ID del post actual así que únicamente habría que añadir el campo dinámico en la configuración del formulario:

[dynamictext my-filed-name "CF7_get_post_var key='ID'"]

El plugin viene con shortocodes para GET, POST, blog info, post info, current URL, custom fields, current user info, referrer URL. Tienes todos los detalles en la página de wordpress.org

WP Import All, importa cualquier tipo de datos a tu sitio WordPress

wp-all-importWp All Import es un plugin estupendo para importar cualquier tipo de datos a tu sitio web WordPress.

Puedes importar XML, CSV/Excel, JSON, SQL y en cualquier estructura para posts, pages y custom post types

Con un sistema “drag and drop” muy simple y fácil de usar, sólo tienes que arrastrar la información que deseas e indicar a que campo de la base de datos corresponde.

Importará las imágenes y también es capaz de autodetectar los campos customizados para la tabla de postmeta.
Tienen una versión más avanzada que da soporte para Advanced Custom Fields y productos WooCommerce.

La versión gratuita es bastante limitada, no trabaja con imágenes y tampoco importa los campos customizados para la tabla postmeta, lo que probablemente se necesite en casi el 100% de los casos. Así que si no eres programador este plugin es una buena inversión.

Pondré un ejemplo de cuando este plugin puede ser muy práctico y bien rentabilizado. Imagina que gestionas (o uno de tus clientes gestiona) un portal de anuncios, inmobiliario o algo parecido, y que constantemente tienes que importar archivos con data de otros sitios web externos, y cada sitio externo te manda los datos en una estructura o formato diferentes. Este plugin es ideal ya que que puedes guardar los ajustes de cada importación como una plantilla, de tal modo que sólo necesitarás hacer los ajustes para importar los datos de un sitio X una sola vez. Después cada vez que importes un nuevo documento enviado por la misma fuente, sólo tendrás que subir dicho ducumento, seleccionar la plantilla guardada y listo!

Echa un vistazo al vídeo que tienen en su página de wordpress.org

Nota: Usé este plugin en una web que gestionaba anuncios clasificados done un usuario puede crear un anuncio y al crearlo recibe una notificación por email confirmando la creación del anuncio. Cuando hice una importación de un XML con 1000 anuncios asignados a un autor el servidor trató de enviar 1000 notificaciones por email. Asegúrate de tener las notificaciones por email deshabilitadas en un caso parecido.

Añade Galerias en Mosaico sin instalar Jetpack

tiled-gallery-banner

Existe una gran demanda en tener algunas de las funcionalidades que ofrece Jetpack sin tener que instalar el propio plugin.
Aquí os dejo este plugin, por ThemePacific, para poder añadir una galería en mosaico con carousel. Hace exactamente lo mimo que la Galería en Mosacio de Jetpack.

Las opciones son:

  • Hablitar o deshabilitar la función de carousel.
  • Escoger el color de fondo para el carousel.
  • Mostrar el metadata de la foto en el carousel.
  • Seleccionar el tipo de galería: Grid de miniaturas, Mosaico, Cuadrados o Círculos.
  • Y la opción para indicar  que todas las galerías sean del tipo Mosaíco por defecto.

Puedes descargarlo desde el repositorio de plugins en  wordpress.org.

Plugin “WP Migrate DB”

De deliciousbrains.com, con este plugin puedes hacer una migración de la base de datos de una instalación WordPress a otra con un solo click, dependiendo de lo grande que sea tu base de datos llevará más o menos tiempo en generar el archivo de la exportado, pero en líneas generales es bastante rápido,  y definitivamente es uno de esos plugins que no puedo vivir sin él!

Altamente recomendado, funciona de maravilla! Lo puedes descargar gratuitamente desde el repositiorio de plugins de wordpress.org. También disponen de una versión premium que nunca he probado ya que hasta ahora no he tenido las necesidades para adquirirlo, pero echa un vistazo a sus características en la su página web.

Woocommerce, implementar TPV Servired

Woocommerce Servired integration light es un plugin muy sencillo para implementar la pasarela de pago de Servired con Woocommerce.

Elijes el método de pago “Servired Light” desde los ajustes de Woocommerce.

En el formulario de ajustes de Servired Light introduces los datos proporcionados por el banco y listo!

A mi me funcionó de maravilla, aunque también existen las opciones oficiales de redsys para las pasarelas de pago tanto para woocommerce como como para otras plataformas. Desde aquí puedes descargar los plugins y la documentación.

 

woocommerce-servired-light-1

woocommerce-servired-light-2

Plugin “Duplicate Menu”

Este es un plugin simple pero muy útil que nos ayudará a ahorrar mucho tiempo.

Con este plugin, como ya has podido adivinar por el nombre, puedes duplicar un menú para añadirlo en cualquier otro sitio de tu web,

Imagina que tienes una navegación principal bastante grande (o no tan grande)  y te gustaría añadir la misma navegación en el footer de tu página. Con este plugin podrás hacer esto con tan sólo unos cuantos clicks, sino tendrías que crear el menú manualmente y añadir tus páginas (o lo que quisieras añadir) una por una. Así que con este plugin vas a ahorrar muchísimo tiempo.

Puedes encontrarlo en el repositorio de wordpress.org  http://wordpress.org/plugins/duplicate-menu/

Después de instalarlo dirígete a  Apariencia -> Duplicate menu.

duplicate-menu-1

Duplica tu menú y después ves a Apariencia -> Menús, y podrás ver tu nuevo menú en la lista.

duplicate-menu-2

Plugin “Simple Follow Me Social Buttons Widget”

“Simple Follow Me Social Buttons Widget” es un plugin muy simple para mostrar en tu web los botones “Sígueme” de las principales redes sociales. Utiliza una fuente en lugar de imágenes por lo que es fácil añadir estilos y se verán correctamente en cualquier tipo de pantalla.

Sin página de ajustes ni nada complicado. Sólo un widget que podrás poner en tu barra lateral, header, footer, etc.

Como ya he mencionado antes, es muy sencillo añadir estilos y puedes elegir directamente desde el widget el color, el tamaño, el texto que precede a los iconos o si son cuadrados o redondos.

Traducciones disponibles:

Inglés
Español
Serbocroata – Facilitado por Borisa Djuraskovic de webhostinghub.com. Gracias!

Descarga el plugin desde aquí (disponible en wordpress.org), y si estas contento y quieres agradecer al autor (a mi!!) también puedes encontrar un botón para hacer una donación. Gracias!

Descargar Plugin




 

screenshot-2social-buttons-front-snap