• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Plugins / Logout menú en Easy Digital Downloads

Logout menú en Easy Digital Downloads

[ 5 septiembre 2023 ] [ Autor: Jhon Marreros Guzmán ][ Plugins - Intermedio] [ ]

mejoras

Suscríbete a DecodeCMS:  

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.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Quitar el menú de WooComerce en la administración de WordPress para ciertos usuariosQuitar el menú de WooComerce en la administración de WordPress para ciertos usuarios
  • Eliminar automáticamente las imágenes al borrar una entradaEliminar automáticamente las imágenes al borrar una entrada
  • Ocultar precios de productos a usuarios visitantesOcultar precios de productos a visitantes en WooCommerce
  • Deshabilitar Información de Usuarios de la REST API de WordPressDeshabilitar Información de Usuarios de la REST API de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Mostrar notificaciones por usuario en la administración de WordPress

Insertar un logo SVG animado en WordPress

Establecer ítems de menú sólo para usuarios registrados

Ocultar las notificaciones en la administración de WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados