How to create a custom menu item

This is the slimmed down version of a plugin settings page that I’m working on. Put it in a file and include it in your plugin. Searching on Google for add_options_page, register_setting, add_settings_field etc. will lead you to the codex entries of WordPress with further descriptions. The code of the options page below will render … Read more

How to change menu according to the language?

This can be done via cookies. We set it with Javascript, reload the page and display different menus in PHP using its value. First, print the script at the site footer (see comments). Note: would be better to enqueue this together with your theme scripts. add_action( ‘wp_footer’, ‘wpse_77220_language_cookie’ ); /** * Cookie script based on … Read more

Add class to all list items of wp_nav_menu

There is a nav_menu_css_class filter. It is trivial to add classes. function add_classes_wpse_130358($classes, $item, $args) { $classes[] = ‘new-class’; return $classes; } add_filter(‘nav_menu_css_class’,’add_classes_wpse_130358′,1,3); But you will probably need to extend Walker_Nav_Menu or use the walker_nav_menu_start_el filter instead, since the nav_menu_css_class filter mysteriously does not have access to the depth variable. But walker_nav_menu_start_el doesn’t let you … Read more

Override custom menu widget

Ok, here we go. I extended the default Navigation widget for you. Add this to your themes functions file. After you have done this, go to widgets in your dashboard and you will see a widget called ‘Matt Royal Custom Menu’ now. Use this one. In the below code, the div class has been added … Read more

Custom Menus Description Stripping HTML Tags

(Untested). But if you want to use HTML in the description, then you shouldn’t use: `esc_html( $item->description )` Try removing the esc_html as this escapes the HTML. (Or better still use wp_kses instead to only allow certain tags.). So you want $description = ( ! empty ( $item->post_content ) and 1 == $depth ) ? … Read more

Generate a Menu that displays all child pages of top level parent

Here is a function that will output the top level parent along with all of the children of the current page. Helpful menu classes are added to the output. E.g. page_item_has_children, current_page_item, current_page_ancestor, etc. This solution is based on one of the examples in the documentation for wp_list_pages() and this answer here on WPSE, which … Read more

Organizing by super-categories (or nested categories)?

Hi @NealWalters: This is obviously more of an opinion question rather than a technical one but here’s my opinion. My advice: use no more than 10 categories. Those <=10 categories when viewed together should define the essence of your blog. Don’t use subcategories. Then use lots of tags to define the topics you are talking … Read more