{"id":6146,"date":"2009-07-16T00:18:25","date_gmt":"2009-07-16T00:18:25","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/hierarchical-pages\/"},"modified":"2013-12-12T23:50:05","modified_gmt":"2013-12-12T23:50:05","slug":"hierarchical-pages","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/hierarchical-pages\/","author":126485,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.1","stable_tag":"trunk","tested":"3.7.41","requires":"2.8","requires_php":"","requires_plugins":"","header_name":"Hierarchical Pages","header_author":"William Lindley","header_description":"","assets_banners_color":"","last_updated":"2013-12-12 23:50:05","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/www.wlindley.com\/website\/hierpage\/","header_plugin_uri":"http:\/\/www.wlindley.com\/website\/hierpage\/","header_author_uri":"http:\/\/www.wlindley.com\/","rating":4.1,"author_block_rating":0,"active_installs":500,"downloads":40292,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":"1","2":0,"3":"1","4":0,"5":"5"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1","1.0.2","1.0.5","1.0.6","1.1","1.3","1.4","1.5","1.6","1.6.1"],"block_files":[],"assets_screenshots":{"screenshot-5.png":{"filename":"screenshot-5.png","revision":"1538852","resolution":"5","location":"plugin"},"screenshot-4.png":{"filename":"screenshot-4.png","revision":"1538852","resolution":"4","location":"plugin"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1538852","resolution":"2","location":"plugin"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":"1538852","resolution":"3","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1538852","resolution":"1","location":"plugin"}},"screenshots":{"1":"Home page of example site. Only the top-level pages are shown.","2":"After clicking \"Architectural Uses\" the children of that page are visible, along with all the top-level pages.","3":"After further clicking \"Retention Walls\" the third-level pages under that section show.","4":"The widget options screen."}},"plugin_section":[],"plugin_tags":[610,9922,243,940,91],"plugin_category":[43,57],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-6146","plugin","type-plugin","status-closed","hentry","plugin_tags-categories","plugin_tags-child","plugin_tags-pages","plugin_tags-taxonomies","plugin_tags-taxonomy","plugin_category-customization","plugin_category-taxonomy","plugin_committers-ashokrane","plugin_support_reps-ashokrane"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/hierarchical-pages.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/hierarchical-pages\/trunk\/screenshot-1.png?rev=1538852","caption":"Home page of example site. Only the top-level pages are shown."},{"src":"https:\/\/ps.w.org\/hierarchical-pages\/trunk\/screenshot-2.png?rev=1538852","caption":"After clicking \"Architectural Uses\" the children of that page are visible, along with all the top-level pages."},{"src":"https:\/\/ps.w.org\/hierarchical-pages\/trunk\/screenshot-3.png?rev=1538852","caption":"After further clicking \"Retention Walls\" the third-level pages under that section show."},{"src":"https:\/\/ps.w.org\/hierarchical-pages\/trunk\/screenshot-4.png?rev=1538852","caption":"The widget options screen."},{"src":"https:\/\/ps.w.org\/hierarchical-pages\/trunk\/screenshot-5.png?rev=1538852","caption":""}],"raw_content":"<!--section=description-->\n<p>Two widgets are provided, for displaying a vastly condensed\nhierarchial list either of pages, or of categories and custom\ntaxonomies.  Designed for large sites with hundreds of pages, or when\nusing custom post types or custom hierarchical taxonomies.<\/p>\n\n<p>With Pages: Always displays the current page, the pages above it back\nto the home page, and the current page's children.  Detects nested\ncategories and custom taxonomies, and likewise displays the categories\nor taxonomies above and below the currently displayed one.<\/p>\n\n<p>The behavior of the widget is all configurable through its\nconfiguration screen, as follows:<\/p>\n\n<ul>\n<li>The Categories widget will also display custom taxonomies.\nThe admin screen includes a list of the defined ones;\nleave the field blank to use the built-in post categories.<\/li>\n<li>The title is optional (blank will emit no heading); with\na blank heading and top-level entries (pages\/categories\/\ntaxonomies) disabled, you can have the widget only display\nwhen the user is \"currently inside\" a page\/post that matches\nwhat the widget is set to display.<\/li>\n<li>Pages may be sorted in Menu Order or alphabetically.\nTo sort pages in menu order, with pages of the same order\nalphabetical, set the Sort Field parameter to:\nmenu_order,post_title ... some sites have reported issues\nand seem to require that only menu_order be specified.<\/li>\n<li>Categories and custom taxonomies may be sorted by name,\nslug, or other fields displayed on the admin form.<\/li>\n<li>Sort order can be ASC or DESC<\/li>\n<li>Siblings to the current page, if enabled, means that child \npages of the current page\u2019s parent will be displayed. \nDisabling this makes for shorter page lists but the user\nmight not be able to move \"sideways\" in the site.<\/li>\n<li>If there are many top-level pages (pages with no Parent set),\nyou can disable their listing.<\/li>\n<li>If your site has an Introduction or splash page, as a static home\npage, you might want to disable showing it (presumably it is\naccessible through an icon link).  However, if the homepage has\nchildren, it will always be displayed (otherwise you could never\nnavigate to those pages).<\/li>\n<li>For Pages, you may optionally specify a meta-key and value\nwhich must be matched for pages to be listed in the widget.<\/li>\n<li>Also for Pages, you may select posts that match a given\nAuthor or post status.  Leave these blank for \"all authors\"\nand \"publish\" status.<\/li>\n<li>Empty categories\/taxonomies may be hidden.<\/li>\n<li>Both plugins permit specifying either an include list or\nan exclude list.  These are comma-delimited lists of \nID numbers.  You may specify either include or exclude, not both.<\/li>\n<\/ul>\n\n<p>Spanish translation provided courtesy Andrew Kurtis of WebHostingHub.com\nThanks, Andrew!<\/p>\n\n<!--section=installation-->\n<p>This section describes how to install the plugin and get it working.<\/p>\n\n<p>e.g.<\/p>\n\n<ol>\n<li>Upload <code>plugin-name.php<\/code> to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the administration menus in WordPress<\/li>\n<li>Add the widget to one of your sidebars.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Can I change the format of the display?<\/dt>\n<dd><p>Only to the extent that the built-in function wp_list_pages() permits.\nThe plugin works by retrieving a full list of pages, selecting only those \npages that are desired according to the widget settings, and then passing\nthose as an 'include' list to wp_list_pages.<\/p>\n\n<p>You can change the way the current page is displayed, by modifying the \n    current_page_item entry in your stylesheet.  The documentation of \nwp_list_pages() at http:\/\/codex.wordpress.org\/Template_Tags\/wp_list_pages\nexplains:<\/p>\n\n<pre><code>All list items (li) generated by wp_list_pages() are marked with\nthe class page_item. When wp_list_pages() is called while displaying\na Page, the list item for that Page is given the additional class\ncurrent_page_item. \n<\/code><\/pre>\n\n<p>Similarly, the style <code>current-cat<\/code> is provided for the current category.<\/p><\/dd>\n<dt>Why are no pages listed?<\/dt>\n<dd><p>This can happen if you are viewing a Post, rather than a Page, and you\nhave \"Always show top-level pages?\" un-checked.  (The plugin does not\nfind a path from the home page to your current location, so it has\nnothing to display.) If your site has a static home page without\nchildren, you should check either the top-level option, or the \"Show\nthe static home page?\" option.<\/p><\/dd>\n<dt>Are there more versatile ways to exclude pages from the list?<\/dt>\n<dd><p>If the exclude list parameter is insufficient, you might try the\nExclude Pages plugin, which is compatible with this one:<\/p>\n\n<p>http:\/\/wordpress.org\/extend\/plugins\/exclude-pages<\/p><\/dd>\n<dt>How can I rearrange my posts and pages?<\/dt>\n<dd><p>Try the Pagemash plugin which lets you move pages up, down, in, out,\nand around your hierarchy with the mouse.  It automatically changes\nthe pages' parents and menu order.<\/p>\n\n<pre><code>http:\/\/wordpress.org\/extend\/plugins\/pagemash\/\n<\/code><\/pre>\n\n<p>If it's posts you wish to rearrange, try this:<\/p>\n\n<pre><code>http:\/\/wordpress.org\/extend\/plugins\/postmash\/\n<\/code><\/pre><\/dd>\n<dt>Can I call the widgets in a shortcode, or from my theme?<\/dt>\n<dd><p>Yes. Try this code, for example, in your theme's functions.php:<\/p>\n\n<pre><code>function my_category_shortcode($attr) {\n   HierCatWidget::hiercat_list_cats($attr);\n}\nadd_shortcode('categories','my_category_shortcode');\n<\/code><\/pre>\n\n<p>That will create a shortcode: [categories] which you can invoke\nwith these arguments, which match the parameters in the widget\nconfiguration screen:<\/p>\n\n<ul>\n<li>title -- Title to print, if any.<\/li>\n<li>show_siblings -- Show siblings to the current category?  0 or 1<\/li>\n<li>include -- Include list. Comma-delimited list of category IDs, or\nblank for all<\/li>\n<li>exclude -- Exclude these IDs<\/li>\n<li>orderby -- Sort field. Enter one of: name, count, term_group, slug\nor a custom value. Default: name<\/li>\n<li>order -- Sort direction. ASC (default) or DESC<\/li>\n<li>child_of -- Optional: Only display Categories below this ID<\/li>\n<li>hide_empty -- Hide empty categories?<\/li>\n<li>show_count -- Show count of category entries?<\/li>\n<li>taxonomy -- Custom taxonomy. Enter one of: category, post_tag,\nnav_menu, link_category, post_format. Omit for post categories.<\/li>\n<\/ul>\n\n<p>Likewise you could define a shortcode which calls\nHierPageWidget::hierpages_list_pages to list pages, with parameters\nsimilarly taken from the definition of that function.<\/p>\n\n<p>Your functions.php file or any part of your theme could also call\neither of those two list functions directly.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial version on wordpress.org<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Permit blank title<\/li>\n<li>Better handle cases where pages have no children<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Add exclude parameter<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Resolve warning message when viewing excluded pages<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Suppress output when no pages selected<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Categories: Add include, order, orderby, child_of parameters<\/li>\n<li>Add taxonomy parameter to support link and other categories<\/li>\n<li>Support selecting pages by meta key\/value pairs, and by author<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Correct typos in argument handling for Pages<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Do not redefine existing class<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>When fourth-level or higher levels of page nesting are used,\ndo not omit the siblings of second and intermediate level pages.\n(Previously, some page levels would \"disappear\" as you\nnavigated further into a deeply nested site.)<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Support use of custom post types. Thanks to G.Breant.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Handle case of no categories being returned.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Add isset() calls to suppress error chatter about undefined array entries<\/li>\n<li>Completes the internationalization interface<\/li>\n<li>If only the current page were to be listed, the output of the widget is\nentirely suppressed.<\/li>\n<li>Spanish translation provided courtesy Andrew Kurtis of WebHostingHub.com<\/li>\n<\/ul>","raw_excerpt":"Two widgets are provided, for displaying a vastly condensed","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/6146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=6146"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/anonymized-126485"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=6146"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=6146"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=6146"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=6146"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=6146"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=6146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}