Inventory_Presser_Menu_Item_Print::maybe_insert_print_button_javascript( string $menu_item, WP_Post $item, int $depth, object $args )

maybe_insert_print_button_javascript


Description Description

Replace a link target of "#" with JavaScript that prints the page when a menu item has a CSS class of "invp-print-button".


Top ↑

Parameters Parameters

$menu_item

(string) (Required) item HTML

$item

(WP_Post) (Required) post object for the menu item

$depth

(int) (Required) depth of the item for padding

$args

(object) (Required) nav menu arguments


Top ↑

Return Return

(string) item HTML


Top ↑

Source Source

File: includes/class-menu-item-print.php

	function maybe_insert_print_button_javascript( $menu_item, $item, $depth, $args ) {

		//does it have the magic CSS class?
		if( ! in_array( 'invp-print-button', $item->classes ) ) {
			return $menu_item;
		}

		//is it a custom link?
		if( 'Custom Link' != $item->type_label ) {
			//no
			return $menu_item;
		}

		//is the link target a #?
	    if ( false !== strpos( $menu_item, 'href="#"' ) ) {
	    	//yes, change it to JavaScript that prints the page
	        $menu_item = str_replace( 'href="#"', 'href="javascript:window.print();"', $menu_item );
	    }

	    return $menu_item;
	}