wppizza / markup / global / navigation.dropdown.php
Hierarchical WPPiza categories navigation widget using shortcode [wppizza type='navigation' as_dropdown='1']
or the widget available from Appearance -> Widgets -> Wppizza -> Widget Type='Navigation' and 'As dropdown' checked
listing categories as dropdown
For shortcode attributes please refer to the shortcode section
CSS Targeting
-
Wrapper div element id:
#wppizza-categories-[unique_id]
(unique to each instance of a widget) -
Wrapper div element class:
.wppizza-categories
(used by all instances of widget)
if you simply want to edit some styles/layout (text-sizes, color, margins, paddings etc etc ) it is strongly recommended to use css instead of filters/actions. Please refer to Modify Styles/Layout
Filters available
apply filters by adding them to your child-theme’s functions.php (notes regarding functions.php).
many display options are also available by simply using the relevant shortcode attributes instead of filters
-
filter name:
wppizza_filter_navigation_widget_dropdown_markup
purpose: modify the html markup of the html as required@param: $markup array (array of markup elements)
@param: $atts array (attributes)
@param: $id int (unique id for each instance)
@return: arrayexamples:
add_filter('wppizza_filter_navigation_widget_dropdown_markup', 'myprefix_filter_navigation_widget_dropdown_markup', 10, 3); function myprefix_filter_navigation_widget_dropdown_markup($markup, $atts, $id, $is_dropdown){ /* notes: use print_r($markup) to view array keys with their respective markup use print_r($atts) to view attributes use print_r($id) to view id of instance use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin */ /* example: adding a paragraph AFTER opening div element using standard php concatenation */ $markup['div_'] .= '<p>more text after opening div</p>'; /* example: adding a paragraph BEFORE opening div element using standard php concatenation */ $markup['div_'] = '<p>more text before opening div</p>' . $markup['div_']; /* example: adding a paragraph AFTER opening div element using wppizza array_splice helper function */ $splice_after['myprefix_paragraph'] = '<p>more text after opening div</p>'; $markup = wppizza_array_splice($markup, $splice_after, 'div_' ); /* example: adding a paragraph BEFORE opening div element using wppizza array_splice helper function */ $splice_before['myprefix_paragraph'] = '<p>more text before opening div</p>'; $markup = wppizza_array_splice($markup, $splice_before, 'div_' , true); /* example: removing wrapping div elements for the first instance of the widget on the page */ if($id == 1){ unset($markup['div_']); unset($markup['_div']); } /* example: using actions of another plugin that by default outputs html to add it after the wrapper div */ ob_start(); # start buffering do_action('other_plugin_output'); # run action of other plugin that outputs things $buffer= ob_get_contents(); # capture buffer in variable ob_end_clean(); # clean buffer $markup['_div'] = $markup['_div'] . $buffer; # add buffered output after end of wrapper return $markup; }
-
filter name:
wppizza_filter_navigation_widget_arguments
purpose: filter arguments@param: $args array of arguments used for wp_list_categories or wp_dropdown_categories (if using dropdown option)
@param: $atts array (widget attributes)
@return: arrayfor full ist of arguments see wordpress codex wp_list_categories and wp_dropdown_categories
examples:
add_filter('wppizza_filter_navigation_widget_arguments', 'prefix_filter_navigation_widget_arguments', 10, 2); function prefix_filter_navigation_widget_arguments($args, $atts){ /* change title_li string */ $args['title_li'] = 'some other title'; /* use your own walker class */ $args['walker'] => new My_Own_Custom_Wppizza_Category_Walker() return $args; }
-
filter name:
wppizza_filter_navigation_widget_class
purpose: add your own classname@param: $class array(array of classes)
@param: $atts array (attributes)
@param: $id int (unique id for each instance)
@return: arrayexamples:
add_filter('wppizza_filter_navigation_widget_class', 'prefix_filter_navigation_widget_class', 10, 3); function prefix_filter_navigation_widget_class($class, $atts, $id){ /* example: add additional classname for the first instance of the widget on the page */ if($id == 1){ $class['new_class'] = 'my-class'; } return $class; }
Actions available
- none
Editing files directly
ensure you have also read the Modify/Edit Templates
basepath: [plugin-path]/wppizza/templates/markup
filepath: [plugin-path]/wppizza/templates/markup/global/navigation.dropdown.php
Modules used in file
- None
Module used by file(s)
- None