=== WordPress Navigation Tool (NAVT) === Contributors: gbellucci, et_ux Donate link: http://www.gbellucci.us/?p=450 Tags: menu, navigation, lists, pages, categories, links, navbar, widget, dropdown, users, authors, hierarchy, avatars, graphic links Requires at least: 2.2 Tested up to: 2.3 Stable tag: 95.41 Create, organize and manage your WordPress menus and navigation lists by logically grouping your pages, categories, users via a drag'n drop interface. == Description == Please give this plugin a rating. = About the Plugin = The __WordPress Navigation Tool (NAVT)__ plugin is designed to provide you with complete control over the contents of your navigation links. The plugin gives you the ability to create unique navigation lists using a Drag 'n Drop Interface; arrange the navigation items within a list in any arbitrary order. Navigation lists can be composed of any combination of pages, categories, Authors, Editors, Contributors, etc., internal/external links and list dividers. * NAVT options are integrated with WordPress Page, Category and User Profile create/edit screens. * Privacy settings for all navigation items to allow/disallow access based on whether or not the user has signed in. * List item names (called a menu alias) can be set to a name that differs from the name used as the page title or the category name. * Creates navigation lists in several formats: Un-numbered HTML or single/multiple dropdown (select) style menus, text only, text with accompanying graphic or graphic only. * Multiple dropdown menus can be created from a single navigation list using dividers. * Navigation groups can be embedded within posts or pages. * Navigation lists are 'theme independent' and reusable. * Ample css classes provided for list and graphic link styling. * Single interface function call. * Comes with a companion sidebar module if you use the Sidebar Module plugin (SBM) * Comes with a builtin on sidebar widget for WordPress Widget users - supports up to 5 individual NAVT widgets. * Drag and drop interface for easy visualization of your menus and quick changes. * Built-in help tips. * Compatible with the Word Press 2.2.2+, WordPress-mµ 1.2.4+, [SideBar Module Plugin](http://nybblelabs.org.uk/ "Plugin Homepage") V1.0+, [SideBar Widgets Plugin](http://automattic.com/code/widgets/" Plugin Homepage") for WordPress 2.1, WordPress 2.2.1 with built-in widget support. * Compatibility tested with IE6/IE7, Firefox 2.0.0.3+, Opera 9.10/9.20 (_all pc browsers only_) = Interface = The plugin provides a __drag 'n drop__ interface minimizing the need to use your keyboard. Navigation lists can be created and edited using your mouse along with a few keystrokes. Navigiation options are also integrated with WordPress Manage Page, Category and User Profile screens. Using this plugin with the companion sidebar module or sidebar widget provides you with the ability to __reorder and change your navigation lists on your web site without changing one line of code in your theme__. It also means that you can change themes and still retain your site navigation. = Built-in User Tips = The plugin provides an extensive built-in user help tips that provide option definitions. == Installation == _Classic WordPress and WordPress MU Plugin directory_ 1. Download the plugin. 1. Unzip the file in the WordPress directory: `/wp-content/plugins/` - The plugin resides in its own directory. 1. Activate the NAVT plugin from the Word Press plugin page. 1. After activating the plugin, go to the `Manage` menu and select the menu tab: __NAVT Lists__ to use the plugin. 1. For WordPress 2.2.2+ with a widgetized theme, 5 NAVT Widgets can be found on the Widgets page. 1. NAVT requires the use of JavaScript (_it must be turned on in your browser_). _WordPress MU (mu-plugins directory)_ 1. Download the plugin. 1. Unzip the file in the WordPress directory: `/wp-content/mu-plugins/` - The plugin resides in its own directory. 1. Copy the file: navt_wpmu.php from the NAVT installation directory to the /wp-content/mu-plugins/ directory (1 level UP) 1. Use the Manage __NAVT Lists__ submenu to access the plugin page. 1. For WordPress MU 1.2.4+ - 5 NAVT Widgets can be found on the Widgets page. 1. NAVT requires the use of JavaScript (_it must be turned on in your browser_). The `doc` directory contains a single page manual explaining the PHP interface function call syntax. The `modules` directory contains a document explaining how to install the sidebar module. The sidebar widget is automatically available on the widgets page. = Release Notes = *__.95.41__ _(Sept 24, 2007)_ >_What's Changed_ 1. Added automatic conversion of group navigation data from previous versions of the plugin. The plugin will convert navigation group information from prior versions to the new data format. 1. Last minute operational checks against WordPress 2.3 *__.95.40__ _(Sept 20, 2007)_ >_Updates for WordPress MU_ Installation instructions are provided above for using th NAVT plugin with WordPress MU 1. Moved the NAVT Admin submenu functionality to the bottom of the NAVT List page - MU user's not able to access the plugin page would not have been able to access the NAVT Admin submenu. 2. Component checks have been put into place to make sure that you have all the PHP modules to run the plugin. *__.95.39__ _(Sept 15, 2007)_ One day after the release and I manage to find a bug. If you put quotation marks in a page or category title the wheels would fall off... So this is a fix for quotes in titles. Sorry for the short update time but I've had a few people run into this. *__.95.38__ _(Sept 14, 2007)_ Note: This version of NAVT is incompatible with NAVT Lists that have been created with previous versions (_sorry_). After installing and activating the plugin, go to the NAVT Admin Menu (on the plugin page) and click the "Reset to Defaults" button. >_New in this release_ 1. The plugin is now compatible with WordPress-mµ 1.2.4+ - MU user's should now be able to make use of the plugin on their web sites. 1. Several additional classes have been added to the navigation items for more focused styling. 1. Users (a.k.a Administrators, Editors, Authors, Contributors and Subscribers) are now as managable as your Pages, Categories, etc. Users can now be added as new items within your navigation groups. * User items support the use of avatars (system or user provided). Add your own avatars and graphics to the NAVT/avatars directory (32x32 jpg, jpeg, gif, png, bmp formats) * Append user posts counts to Author links. * Display blog user's even if they haven't posted. * Several types of User information can be added and formatted as associated link information. * Useful for multiuser blogs, memberships and other organizations. * User types are automatically added. However, 'subscribers' do not automatically appear in navigation lists - the option to include them in a navigation list can be changed in their profile. 1. External link item changes: * Set link to use REL=NOFOLLOW (default) and TARGET=_blank for opening pages in new windows. 1. New navigation item options for Pages, Categories and links * Four types of link styles can now be configured: 1. Standard text link. 1. Standard text over a graphic. 1. Standard text along side a graphic. 1. Graphic only. 1. Control the items displayed in the unassigned group via item filtering. Useful if you have a very long list of unassigned navigation items. 1. Items can be individually excluded or included from appearing in navigation lists via "Do not use" option checkbox. 1. Category description can now be used as the link tooltip. 1. Hierarchical lists can be created from any combination of items - these *can* be independently setup from the parent/child relationships established by WP 1. Navigation lists can now be __embedded within the content of a post or a page__ by adding [NAVT group=name] to the content. (Group name is NOT a quoted string). >_Other Changes_ 1. Submit buttons are now 'ajaxified' providing (hopefully) faster updates of your NAVT List configurations. 1. Plugin activation bug fixes 1. Better handling of NAVT/WP installation incompatibility 1. Better support for NAVT option entries on native WP configuration pages. >__NOTES__ * I have published several articles on my web site that explain the CSS generated by NAVT and how you can style various links and menus. * I've created a NAVT Forum - I encourage people to visit, ask questions and share. * Please report any problems/questions to the forum. --- *__.95.37__ _(July 17, 2007)_ >Added NAVT support to the 'write post page' for the _on-the-fly_ addition of a category when you write a post. This one slipped by me. Categories added while writing a post will now show up in a navigation list. >You can specify a _preferred_ navigation group to add new category items to. For example, categories added on-the-fly when writing a post will be added to the preferred navigation list you specify instead of being added to the unassigned group. >Added the preferred navigation list option to the NAVT List page. >The NAVT Companion Widget code has been moved inside the NAVT plugin. NAVT widgets are automatically initialized and will appear in the widgets page; a separate activatation step is no longer necessary. The plugin page will no longer display the NAVT companion widget entry. __Thanks to Mark at braincast.nl for the heads up about missing the on-the-fly category adds.__ --- *__.95.36__ _(July 12, 2007)_ >Fix for the Login/Registration link - the login navigation link would have not worked for those of you who installed WordPress in a directory other than the root directory. >Removed the restriction for alphanumeric only characters in the menu alias and plain text dividers. Now you should be able to put whatever you like in there with the exception of tags and scripting. --- *__.95.35__ _(June 23, 2007)_ >NAVT Widget Fix - updated the NAVT widget code to work with WordPress 2.2.1. Apparently, someone decided to make a change to the widget api. The NAVT widgets appeared to be registered but were never displayed in the dynamic areas in the theme by the widget manager. My guess is that backward compatibilty is not working correctly for widgets that use pre 2.2.1 widget registration function calls. There seems to be a subtle move to prefix every WordPress api call with "wp_"... __Thanks to John Lomaga for bringing the broken widget issue to my attention.__ --- *__.95.34__ _(June 20, 2007)_ >No plugin changes - updated the readme to indicate compatibility with WordPress 2.2.1. --- *__.95.33__ _(June 19, 2007)_ >No changes to the plugin. Corrected the plugin compatibility information. Version .95.30+ is NOT compatible with WordPress versions lower than 2.2. If you are using WordPress version 2.1.X, please use this version instead: [NAVT 95.20](http://www.gbellucci.us/download-manager.php?id=3 "NAVT 95.20") --- *__.95.32__ _(June 15, 2007)_ >Fixed a major problem with markup characters showing up in page and category titles. People put things like ampersands in their titles. The markup characters were not 'escaped' so their presence in the XML confused the XML parser and the wheels fell off... Special thanks to Rich Leino (websitemaven) for reporting the problem and allowing me to get onto his web site to debug it. --- *__.95.31__ _(June 12, 2007)_ >Minor corrections and updates to this readme. --- *__.95.30__ _(June 11, 2007)_ >_New Features_ 1. Added NAVT specific options to standard WordPress Manage Page and Manage Categories screens. Navigation options can now be updated/changed in one location. 1. Added a _private_ option to all navigation items. Setting this option means that the viewer cannot see the page/category/link or divider IF they are not logged in. 1. Pages changed to private status from the NAVT List page will change the page status from 'publish' to 'private'. 1. Items marked private are now visually indicated by the addition of a _RED HAND_ over the icon that represents the item type. 1. A new icon is used for pages that have draft status. The icon is a page containing a pencil. 1. Unpublished pages (drafts) are no longer displayed in a the site navigation list via the navt_getlist API call To appear in the list, the page must be published. Draft items can be assigned to a group but will not appear in the navigation list on the site until published. 1. Navigation groups can be split into multiple dropdown selects by placing a navigation divider in the list. The divider will cause the plugin to end one navigation dropdown (/select statement) and begin another. The divider is placed between the dropdown select statements. For example, a plain text divider can be used as a header for the dropdown that appears under it. >_Other Changes_ 1. Completely rewrote the JavaScript as classes. 1. Removed all use of private MySQL calls. 1. Removed javascript comparisons of changes to an alias name in lowercase only: "name" != "Name" != "NaMe" != "naME" .... 1. Automatic update checking is user selectable. 1. Moved the api call into its own file: navtapi.php. 1. Move the changelog into a separate changelog.txt file. 1. Several bugs were fixed. --- *__.95.20__ _(April 25, 2007)_ >_New Features_ 1. New category option to display empty categories. The default is to _not_ display empty categories. 1. Added a Navigation Group option that instructs the plugin to create a dropdown menu from your navigation group. 1. Dropdown menus support categories with appended post counts. 1. Added a plugin update notification announcement feature. The plugin will notify you when updates are available for download. 1. Updated help information including a link to a tutorial that explains how to correctly modify your theme. --- *__.95.12__ _(April 24, 2007)_ >Removed the references to the K2 theme - this plugin works with ANY WordPress theme (with or without widgets and/or sidebar modules) privided your WordPress intallation is 2.1 or higher. I think singling out the K2 theme has confused people into believing this plugin was written for K2 users. No functional changes in this release. --- *__.95.11__ _(April 23, 2007)_ >Minor corrections to the readme.txt file. - more FAQ and examples. --- *__.95.1__ _(April 22, 2007)_ >I believe I finally put to rest the issue with UTF-8 that has eluded me since the initial release. >_New features_ 1. The ability to add one or more external links to any Navigation Group (unrelated to the Blogroll Links). 1. The ability to add one or list dividers between navigation items using any of the following types: * An empty/blank space that can be styled to act as a separator between groups of similar/related links. * Plain Text (set to H3) for providing a subheadings between group of navigation items within the same navigation group. * A horizontal rule for creating a line between groups of navigation lists. 1. A companion WordPress compatible widget for use with the WordPress Widget Plugin 1. Updated documentation with examples. 1. Improved load performance of the administration page. 1. New icons from Mark James at [FAMFAMFAM](http://famfamfam.com/ "Silk Icons") >__NOTE:__ >This version of the plugin saves a private database option that is incompatible with previous versions of the plugin. You may have to remove any previously created navigation groups by clicking the "Remove Data" button from the NAVT Admin Plugin Page and then reconstruct your navigation groups. (_sorry_) >__This is not a release candidate__. I have a few more ideas and I'm probably going to change this again in a few weeks. I hope to get more feedback. >__I'd like to thank Luciano Passuello for his help in confirming that the UTF-8 issue went away and Timo �lino� Kissing for alerting me to the problem to begin with.__ --- *__.94rc1__ _(April 7, 2007)_ >Fixed a problem in determining the current page item in the navigation lists. Bumped the version number. --- *__.93rc4.2__ _(April 5, 2007)_ >More updates to this readme text. --- *__.93rc4.1__ _(April 4, 2007)_ >Update of this readme text. --- *__.93rc4__ _(April 4, 2007)_ >Added missing title= to login/admin href in navigation list. Update of this readme text with more detailed information and screen shots. --- *__.93rc3__ _(April 3, 2007)_ >Built-in help information was moved to its own page. Reading the additional text for the help causes IE 7 to display this message: >__"A script on this page is causing Internet Explorer to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort the script?"__ >to avoid the issue completely, I've changed the way the help is displayed. --- *__.93rc2__ _(April 2, 2007)_ >Initial release candidate available from the plugin repository. == Frequently Asked Questions == = Does the Sidebar Module work with the WordPress Widgets Plugin? = __Yes.__ The NAVT sidebar module was written to work with both the [SideBar Module Plugin (SBM)](http://nybblelabs.org.uk/ "Plugin Homepage") written by Ben Sherratt and the [SideBar Widgets Plugin](http://automattic.com/code/widgets/" Plugin Homepage") for WordPress 2.1. The SBM plugin allows multiple copies of a widget to be used in a theme. The sidebar Widget Plugin provides up to five NAVT widgets. = I changed a page title and a category name but the menu entry on my web site was not changed. = Menu tab titles or items that appear in your list names are not directly linked to your page titles and category names. Instead, the name that appears in your tabbed menus or lists is an alias and is changed by modifying the menu alias for the item in the NAVT plugin. Initially, the menu alias is taken from the page title or category name. However, if you change the page title or category name via __`Manage` � `Pages`__ or __`Manage` � `Categories`__, the menu tab or list entry __will remain unchanged__ until you change the menu alias. The inverse is also true. Changing the menu alias will not affect the actual page title or category name as it is stored in the database. = Oh No Mr. Bill! Some of my categories are not showing up in my category list. = I'm assuming that the categories that are _missing_ are used in a menu or list you created using the NAVT plugin. Categories that appear as part of a navigation list created using the NAVT plugin are, by default, __excluded__ from the normal list of categories displayed by your WordPress template. _This is by design._ In addition, if a category contains sub-category entries, the sub-categories will also be excluded from your category list. Because the parent category appears as part of another navigation list on the web site, including the category in the normal category navigation list can appear 'confusing' to visitors. _If you want categories to be included in your list of categories:_ 1. Click on the name of the category menu item, a box will open to reveal the menu item options. 1. Select the checkbox: __Show in category list__. 1. Click the __ok__ button. The category will now appear in __both__ locations. = WordPress can display the number of posts in a category by appending the count to the end of the name. Can I do that with this plugin? = __Yes.__ One of the menu item options enables this feature: 1. Click on the name of the category menu item, a box will open to reveal the menu item options. 1. Select the checkbox: __Append post count__. 1. Click the __ok__ button. It is also possible to style the count independently of the category list item. Add the class 'catcount' to your theme's style sheet. = I can't fit all of my menu items across the top of the page. I have to rename my categories and pages to make my menu look right. = Using this plugin makes it possible to leave the names of your categories and the titles of your pages intact and change only the names that are displayed in your menu. How? Change the menu item alias for the menu item. The menu item alias is initially the name you've given a category or page but you can change the alias and not affect the actual category or page title. 1. Click on the name of the category menu item, a box will open to reveal the menu item options. 1. Type in the new name in the textbox provided. (_No spaces, alphanumeric only at least 2 characters in length_). 1. Click the __ok__ button. Your menu tab will contain the new name. = How do I create a menu on the top of my web site and one on the sidebar? = 1. Begin by creating a navigation list called _navbar_ from the __NAVT Lists__ page. Drag the page or categories from the _unassigned_ group and drop them into the _navbar_ group. Put them in the order you want them to appear on the page. __Apply__ your changes when you're done. 1. Create a second navigation group called _sidebar_. Drag the pages or categories from the _unassigned_ group and drop them into the _sidebar_ group. __Apply__ your changes. 1. __If you are not using the companion sidebar module__ : * add the function call `navt_getlist('navbar');` to the location in your Word Press template (_usually header.php_) where the navbar is to be displayed. * add the function call `navt_getlist('sidebar');` to the location in your template (_usually sidebar.php_) where the sidebar navigation list is to be displayed. 1. __If you are using the companion sidebar widget__: _(New for .95.1)_ * Go to the Presentation Menu and select the 'Sidebar Widgets' menu tab. * Look for one of the five widgets named: `NAVT WP Widget` located under Available Widgets * Using the mouse, move the widget into the dynamic location used for your theme's navbar. * Open the widget by clicking the icon in the right top corner of the widget. * If you have created Navigation Groups using the NAVT Plugin, the available groups will appear in the dropdown box * Select the navigation group to be used. * Close the widget * Click __Save__. 1. __If you are using the companion sidebar module__: * Locate the `NAVT Companion Sidebar Module` in the list of available modules on your __SBM plugin administration page__. * Add the `navt module` to the dynamic sidebar column that will be used for your _navbar_ menu. * Click the newly added `navt module` and configure it to use the _navbar_ navigation group by selecting _navbar_ from the __dropdown list__. * Turn __off__ the display __title__ option and click __Save__. * Add another copy of the `navt module` to a dynamic sidebar to be used for your _sidebar_ menu - provide it with a meaningful name (title). * Configure the second `navt module` to use the _sidebar_ navigation list using the dropdown list. * Leave the title __on__ . * Click __Save__. Add the necessary menu styles to your template stylesheet. Styling information is provided in [style notes](http://wordpress.org/extend/plugins/wordpress-navigation-list-plugin-navt/other_notes) = My K2 theme 'loves me like a kitten'. How can I use this plugin to display a navbar at the top of my K2 theme? = K2 is a popular theme so I'm using it here only as a demonstration. The NAVT plugin can be used in any WordPress theme. The following code snippet is from the __K2-095rc1__ source code. The statements shown here begin on __line 75 of the K2 header.php file__
');
__Be very careful when creating the HTML that will be displayed above the navigation group. Incorrect HTML or HML tags that are not properly closed will likely "break" your theme layout.__
= How do I tell the plugin to use paragraph HTML tags and not use an unnumbered list?
The NAVT plugin interface function call is extremely flexible when it comes to constructing navigation groups to work with your stylesheet. The function call takes arguments for specifiying the tags you wish to use when it builds the navigation group. The function call syntx is:
navt_getlist( $sNavGroupName, $bEcho=true, $sTitle='', $sBefore='ul', $sAfter='/ul', $sBeforeItem='li', $sAfterItem='/li' )
__where:__
$sBefore and $sAfter arguments specify the tags used before and after the navigation group is constructed.
$sBeforeItem and $sAfterItem are the tags used before and after each navigation item.
________
Notice that the tags are specified _without_ the starting and ending angle brackets (< and > symbols). To use paragraph tags, you could wrap the entire navigation list inside another `div`. This example will build the navigation group with the name 'sidebar' :
navt_getlist( 'sidebar', true, '', 'div', '/div', 'p', '/p' );
__would produce a navigation group that looked like:__
________
__To add a class to the inner `div`:__
navt_getlist( 'sidebar', true, '', 'div class="inner_div_class"', '/div', 'p', '/p' );
__will produce:__
________
__More complicated HTML tag combinations can be constructed as in:__
navt_getlist( 'sidebar', true, '', 'div class="inner_div_class">