Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Logout menú en Easy Digital Downloads

La documentación oficial de Easy Digital Downloads (EDD) indica que tenemos la opción del menú de WordPress para terminar sesión o usar un plugin, sin embargo en este artículo veremos como agregar esta opción como parte del menú principal y además hacer otras mejoras.

 

Resultado Final

Al final queremos obtener algo similar a lo que se muestra en la siguiente imagen:

EDD resultado final agregar salir ítem menú

 

Configuración EDD

Todas las páginas de EDD usan shorcodes, sin embargo para las páginas de acceso y descarga, se seleccionan en los Ajustes > General > Páginas del plugin EDD; para la página de pefil usamos directamente el shortcode edd_profile_editor,

En el siguiente enlace se pueden ver todos los shortcodes de EDD.
EDD opciones de menú

 

Agregar Logout y mejoras en el menú de EDD

Actualmente se muestra la página de acceso siempre con las opciones de submenú de perfil y descargas.

Menú principal opciones actuales

 

Con el siguiente código ocultaremos estas opciones para un usuario que no esta registrado y cuando este registrado agregaremos el nombre del usuario y además la opción de menú para salir.

add_filter( 'wp_get_nav_menu_items', 'dcms_include_menu_items', 10, 3 );

function dcms_include_menu_items( $items, $menu, $args ) {
        $parent_menu_id = 0;
        $parent_key     = 0;

        if ( $menu->name !== 'Menu Principal' ) {
                return $items;
        }

        foreach ( $items as $key => $item ) {
                if ( $item->title === 'Acceso' ) {
                        $parent_menu_id = intval( $item->ID );
                        $parent_key     = $key;
                        break;
                }
        }

        if ( ! is_user_logged_in() ) {
                foreach ( $items as $key => $item ) {
                        if ( intval( $item->menu_item_parent ) === $parent_menu_id ) {
                                unset( $items[ $key ] );
                        }
                }
        } else {

                $current_user                = wp_get_current_user();
                $items[ $parent_key ]->title = ucfirst( $current_user->display_name );
                $items[ $parent_key ]->url   = "#";

                $link    = [
                        'title'            => 'Salir',
                        'menu_item_parent' => $parent_menu_id,
                        'ID'               => PHP_INT_MAX,
                        'url'              => wp_logout_url( get_permalink() )
                ];
                $items[] = (object) $link;
        }

        return $items;
}

 
En el código anterior:

  • Usamos el hook wp_get_nav_menu_items que hace referencia a la función dcms_include_menu_items
  • Dentro de la función usamos el objeto de parámetro de menú para comprobar si el menú es el que nos interesa, caso contrario retornamos la lista de items sin realizar cambios.
  • Recorremos los items y ubicamos el item de menú con nombre Acceso, guardamos el ID y la posición en el array de items.
  • Luego realizamos la comprobación si un usuario esta o no conectado, si no esta conectado, eliminamos todos los submenus del menú acceso.
  • Caso contrario, si esta conectado, cambiamos el título de Acceso por el nombre del usuario actual, y también agregamos el ítem de menú salir, este tiene que ser un objeto.
  • Finalmente retornamos los $items de menú.

 

Conclusión

Como has podido comprobar, puedes mejorar el comportamiento de los menús que ofrece el plugin Easy Digital Downloads EDD y en general de WordPress, en este artículo hemos visto cómo agregar, quitar y renombrar opciones de menú de forma simple a través de código.

 
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores:

Suscríbete a DecodeCMS:  

 

La entrada Logout menú en Easy Digital Downloads es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires