Add EDD Cart Icon to Divi Header

Written by Dan Mossop

Want to add a cart icon to the Divi header when using Easy Digital Downloads? Here's how to do it.

Simply add the following PHP code to your site:

// Add EDD cart icon and quantity to header menu
function dbc_add_menu_items($items, $args) {
	if ($args->theme_location !== 'primary-menu') return $items;
	if (function_exists('edd_is_checkout') && edd_is_checkout()) return $items;
    if (!function_exists('edd_get_checkout_uri') || !function_exists('edd_get_cart_quantity')) return $items; 
    if ( $qty = edd_get_cart_quantity() ) {
       	$items = $items . '<li id="cart-menu-item"><a href="' . edd_get_checkout_uri(). '" title="Checkout"><span>Checkout</span></a></li>';
        $items = $items . '<span id="header-cart" class="edd-cart-quantity">' . edd_get_cart_quantity() . '</span>';            
    }
    return $items;
}
add_filter('wp_nav_menu_items', 'dbc_add_menu_items', 10, 2);

function dbc_cart_icon_css() { ?>
	<style>
	#cart-menu-item a:before {
		font-family: 'ETModules';
		content: '\e07a'; 
	}
	#cart-menu-item {
		padding-right: 4px !important;
	}
	#cart-menu-item a span {
    	display: none;
	}
	.edd-cart-quantity {
    	vertical-align: super !important;
    	font-size: smaller;
	}
	#cart-menu-item a:before, 
	.edd-cart-quantity {
    	color: red !important;
	}
	#mobile_menu #cart-menu-item,
	#mobile_menu #header-cart {
		display: none;
	}
	</style>
	<?php
}
add_action('wp_head', 'dbc_cart_icon_css');
This code is based on a snippet shared by Isabel Castillo. I've customized it a bit to suit Divi and to avoid showing when the cart is empty or you're on the checkout page.

We may earn a commission when you visit links on our website.

Run PHP Code Directly in your Divi Layouts

Unlock endless customization, automation, and dynamic functionality by seamlessly adding PHP code to your Divi pages and posts with the Divi PHP Code Module. Style, preview, and debug your PHP creations directly in the visual builder with robust error handling and enhanced security.

Latest Posts

Adjust Lightbox Arrow Size in Divi Gallery

Customize the size of the navigation arrows that appear in your gallery lightbox so they’re easier to see and aligned with your site’s design. Whether you want larger, more accessible controls or a subtler look, setting a precise arrow size creates a more polished...

Change Lightbox Arrow Color in the Divi Gallery Module

Make the lightbox navigation arrows in your Divi Gallery match your brand and stand out against your images by assigning a custom color. This improves visual consistency, enhances accessibility with better contrast, and elevates the overall browsing experience for...

Change the Divi Gallery Module Grid Image Scaling

Divi’s Gallery module offers a great way to showcase images, but it can sometimes stretch or crop them in unwanted ways. This article explains how to manage the module’s image scaling behavior to ensure your images are displayed at the correct size and aspect...

Set Custom CSS IDs for Individual Divi Accordion Items

Assigning unique CSS IDs to specific Divi Accordion items allows for precise control over styling, targeting, and linking within your page content. This ability is particularly useful when you want to apply custom designs or create anchor links to particular accordion...

Enable Swipe Navigation in the Divi Gallery Lightbox

Enabling swipe navigation in the Divi Gallery module's lightbox allows users to seamlessly browse through gallery images by swiping left or right, creating a more interactive and mobile-friendly experience. This functionality can significantly improve user engagement...

About Dan Mossop

Dan is a Scottish-born web developer, now living in Brisbane with his wife and son. He has been sharing tips and helping users with Divi since 2014. He created Divi Booster, the first Divi plugin, and continues to develop it along with 20+ other Divi plugins. Dan has a PhD in Computer Science, a background in web security and likes a lot of stuff, 

0 Comments

Submit a Comment

Comments are manually moderated and approved at the time they are answered. A preview is shown while pending but may disappear if your are cookies cleared - don't worry though, the comment is still in the queue.

Your email address will not be published. Required fields are marked *.