Page-list

Advanced Iframe ProPage-listDonateGitHub

WordPress Pagelist plugin

Plugin helps you to show list of pages of your web-site with [pagelist], [subpages], [siblings] and [pagelist_ext] shortcodes. Very usefull for adding sitemap or list of subpages or list of products with thumbnails on your web-site.

Documentation

Shortcodes [pagelist], [subpages], [siblings] are based on wp_list_pages('title_li=') function and show hierarchical tree of pages;

You can use aditional parameters: [pagelist depth="2" child_of="4" exclude="6,7,8"].

Shortcodes [pagelist], [subpages] and [siblings] accept the same parameters. The only difference is that [subpages] and [siblings] not accept child_of parameter, because [subpages] shows subpages to the current page and [siblings] shows subpages to the parent page.

Shortcode [pagelist_ext] is based on get_pages() function and show list of pages with featured image and with excerpt;

You can use aditional parameters: [pagelist_ext child_of="4" exclude="6,7,8" image_width="50" image_height="50"].

Parameters for [pagelist], [subpages] and [siblings]:

  • depth - means how many levels in the hierarchy of pages are to be included in the list, by default depth is unlimited (depth=0), but you can specify it like this: [pagelist depth="3"]; If you want to show flat list of pages (not hierarchical tree) you can use this shortcode: [pagelist depth="-1"];
  • child_of - if you want to show subpages of the specific page you can use this shortcode: [pagelist child_of="4"] where 4 is the ID of the specific page; If you want to show subpages of the current page you can use this shortcodes: [subpages] or [pagelist child_of="current"] or [pagelist child_of="this"]; If you want to show sibling pages of the current page you can use this shortcodes: [siblings] or [pagelist child_of="parent"];
  • exclude - if you want to exclude some pages from the list you can use this shortcode: [pagelist exclude="6,7,8"] where exclude parameter accepts comma-separated list of Page IDs; You may exclude current page with this shortcode: [pagelist exclude="current"];
  • exclude_tree - if you want to exclude the tree of pages from the list you can use this shortcode: [pagelist exclude_tree="7,10"] where exclude_tree parameter accepts comma-separated list of Page IDs (all this pages and their subpages will be excluded);
  • include - if you want to include certain pages into the list of pages you can use this shortcode: [pagelist include="6,7,8"] where include parameter accepts comma-separated list of Page IDs;
  • title_li - if you want to specify the title of the list of pages you can use this shortcode: [pagelist title_li="<h2>List of pages</h2>"]; by default there is no title (title_li="");
  • number - if you want to specify the number of pages to be included into list of pages you can use this shortcode: [pagelist number="10"]; by default the number is unlimited (number="");
  • offset - if you want to pass over (or displace) some pages you can use this shortcode: [pagelist offset="5"]; by default there is no offset (offset="");
  • meta_key - if you want to include the pages that have this Custom Field Key you can use this shortcode: [pagelist meta_key="metakey" meta_value="metaval"];
  • show_date - if you want to show the date of the page you can use this shortcode: [pagelist show_date="created"]; you can use this values for show_date parameter: created, modified, updated;
  • menu_order - if you want to specify the column by what to sort you can use this shortcode: [pagelist sort_column="menu_order"]; by default order columns are menu_order and post_title (sort_column="menu_order, post_title"); you can use this values for sort_column parameter: post_title, menu_order, post_date (sort by creation time), post_modified (sort by last modified time), ID, post_author (sort by the page author's numeric ID), post_name (sort by page slug);
  • sort_order - if you want to change the sort order of the list of pages (either ascending or descending) you can use this shortcode: [pagelist sort_order="desc"]; by default sort_order is asc (sort_order="asc"); you can use this values for sort_order parameter: asc, desc;
  • link_before - if you want to specify the text or html that precedes the link text inside the link tag you can use this shortcode: [pagelist link_before="<span>"]; you may specify html tags only in the HTML tab in your Rich-text editor;
  • link_after - if you want to specify the text or html that follows the link text inside the link tag you can use this shortcode: [pagelist link_after="</span>"]; you may specify html tags only in the HTML tab in your Rich-text editor;
  • class - if you want to specify the CSS class for list of pages you can use this shortcode: [pagelist class="listclass"]; by default the class is empty (class="");

Parameters for [pagelist_ext]:

  • show_image - show or hide featured image [pagelist_ext show_image="0"]; "show_image" have higher priority than "show_first_image"; by default: show_image="1";
  • show_first_image - show or hide first image from content if there is no featured image [pagelist_ext show_first_image="1"]; by default: show_first_image="0";
  • show_title - show or hide title [pagelist_ext show_title="0"]; by default: show_title="1";
  • show_content - show or hide content [pagelist_ext show_content="0"]; by default: show_content="1";
  • more_tag - if you want to output all content before and after more tag use this shortcode: [pagelist_ext more_tag="0"]; this parameter does not add "more-link" to the end of content, it just cut content before more-tag; "more_tag" parameter have higher priority than "limit_content"; by default the more_tag is enabled (more_tag="1") and showing only content before more tag;
  • limit_content - content is limited by "more-tag" if it is exist or by "limit_content" parameter [pagelist_ext limit_content="100"]; by default: limit_content="250";
  • image_width - width of the image [pagelist_ext image_width="80"]; by default: image_width="50";
  • image_height - height of the image [pagelist_ext image_height="80"]; by default: image_height="50";
  • child_of - if you want to show subpages of the specific page you can use this shortcode: [pagelist_ext child_of="4"] where 4 is the ID of the specific page; by default it shows subpages to the current page;
  • parent - if you want to show subpages of the specific page only you can use this shortcode: [pagelist_ext parent="4"] where 4 is the ID of the specific page and the depth will be only one level; by default parent="-1" and depth is unlimited;
  • sort_order - if you want to change the sort order of the list of pages (either ascending or descending) you can use this shortcode: [pagelist_ext sort_order="desc"]; by default: sort_order="asc"; you can use this values for sort_order parameter: asc, desc;
  • sort_column - if you want to specify the column by what to sort you can use this shortcode: [pagelist_ext sort_column="menu_order"]; by default order columns are sort_column and post_title (sort_column="menu_order, post_title"); you can use this values for sort_column parameter: post_title, menu_order, post_date (sort by creation time), post_modified (sort by last modified time), ID, post_author (sort by the page author's numeric ID), post_name (sort by page slug);
  • hierarchical - display sub-pages below their parent page [pagelist_ext hierarchical="0"]; by default: hierarchical="1";
  • exclude - if you want to exclude some pages from the list you can use this shortcode: [pagelist_ext exclude="6,7,8"] where exclude parameter accepts comma-separated list of Page IDs;
  • exclude_tree - if you want to exclude the tree of pages from the list you can use this shortcode: [pagelist_ext exclude_tree="7,10"] where exclude_tree parameter accepts comma-separated list of Page IDs (all this pages and their subpages will be excluded);
  • include - if you want to include certain pages into the list of pages you can use this shortcode: [pagelist_ext include="6,7,8"] where include parameter accepts comma-separated list of Page IDs;
  • meta_key - if you want to include the pages that have this Custom Field Key you can use this shortcode: [pagelist_ext meta_key="metakey" meta_value="metaval"];
  • authors - only include the pages written by the given author(s) [pagelist_ext authors="6,7,8"];
  • number - if you want to specify the number of pages to be included into list of pages you can use this shortcode: [pagelist_ext number="10"]; by default the number is unlimited (number="");
  • offset - if you want to pass over (or displace) some pages you can use this shortcode: [pagelist_ext offset="5"]; by default there is no offset (offset="");
  • post_type - [pagelist_ext post_type="page"];
  • post_status - [pagelist_ext post_status="publish"];
  • class - if you want to specify the CSS class for list of pages you can use this shortcode: [pagelist_ext class="listclass"]; by default the class is empty (class="");
  • strip_tags - if you want to output the content with tags use this shortcode: [pagelist_ext strip_tags="0"]; by default the strip_tags is enabled (strip_tags="1");
  • strip_shortcodes - if you want to output the content with shortcode use this shortcode: [pagelist_ext strip_shortcodes="0"]; by default the strip_shortcodes is enabled (strip_shortcodes="1") and all registered shortcodes are removed;
  • show_child_count - if you want to show child count you can use this shortcode: [pagelist_ext show_child_count="1"]; by default the child_count is disabled (show_child_count="0"); If show_child_count="1", but count of subpages=0, than child count is not showing;
  • child_count_template - if you want to specify the template of child_count you can use this shortcode: [pagelist_ext show_child_count="1" child_count_template="Subpages: %child_count%"]; by default child_count_template="Subpages: %child_count%";
  • show_meta_key - if you want to show meta key you can use this shortcode: [pagelist_ext show_meta_key="your_meta_key"]; by default the show_meta_key is empty (show_meta_key=""); If show_meta_key is enabled, but meta_value is empty, than meta_key is not showing;
  • meta_template - if you want to specify the template of meta you can use this shortcode: [pagelist_ext show_meta_key="your_meta_key" meta_template="Meta: %meta%"]; by default meta_template="%meta%";

607 thoughts on “Page-list”

  1. Hi there,

    Great plugin, using it extensively.

    Just one problem with my sitemap on http://www.giantpt.com/sitemap, though. Sorting works great for most sections, but some are not in alphabetical order of page name. Can it be that it follows the page number? Can this be solved some way?

    Thanks in advance!

    Robin

    Reply
    • By default: [pagelist sort_column="menu_order, post_title"]

      If "menu_order" is not empty, than it can change your order.

      You can use this to force order only by post_title: [pagelist sort_column="post_title"]

      Reply
  2. Is it possible to specify time/date range when showing subpages of the specific page only you can use this shortcode: [pagelist_ext parent="4"]?

    For instance, what if I only want to show subpages that were published in 2010.

    Thanks & Look forward to the feedback :)

    Reply
  3. For site development, I'd like to show a FLAT (non-hierarchical) list of all site Pages, with the Last Modified date, with the most recently modified at the top. Am I able to do this with your (brilliant) plug-in?

    à bientôt

    Reply
    • Try this shortcode: [pagelist show_date="Y-m-d H:i:s" depth="-1" sort_column="post_modified" sort_order="desc"]

      Awesome, I've received a feedback from NASA developer!

      Reply
      • That showed the date created date. I must have been very close before I humbly asked for your feedback.

        [pagelist show_date="modified" depth="-1" sort_column="post_modified" sort_order="desc"]

        Merci!

        I think I was confused by which parameters can be used with pagelist and pagelist-ext, as the shortcode you and I quoted uses both.

        I do work at NASA, and I find I do enjoy the rapid responses in plug-in forums! ;)

        Reply
  4. Hi

    Is there a possibility to change the url of one of the sitemap links?

    I have the following standard structure:

    Level 1

    -- Level 2

    -- Level 2

    and I need to "redirect" the Level 1 link to the same url as the first Level 2 link. Any chance?

    Thx for that great plugin anyway!

    Reply
    • Now it is made with [h3]-tags. It fits to most part of users. If you want to change it for some special site, change it in plugins code and also change version of the plugin for avoiding plugin update.
      Sorry, but this param will not be added because it is needed rarely.

      Reply
      • hi, thanks for the reply. ok no probs.

        Can you explain how i can do this

        [pagelist_ext depth="1" exclude="this" image_width="150" image_height="150"]

        so i can use the depth parameter with pagelist without having to specifically supply the parent id?

        Reply
        • [pagelist_ext] shortcode is based on get_pages() function so there is no depth param. Depth param is in [pagelist] shortcode.

          You can use this shortcode: [pagelist_ext parent="this" child_of="this" image_width="150" image_height="150"]

          Reply
  5. Hi, thanks for the great plugin.

    Is there a way to personalize the text link (e.g. displaying and using a different text than the page title to link to pages)?

    Reply
    • There is no ability to change it.
      You may change it specially for your project by changing code of the plugin.
      But also change version of the plugin to ver.100 for example for avoiding future updates and loosing your code in this plugin.

      Reply
  6. Hi,

    I'm using a custom theme-menu. Is it possible to display a sitemap containing only the pages I've selected for this theme-menu? Because my menu contains 125+ pages it would me great if this is possible without manualy adding all pages.

    Guido

    Reply
  7. I have installed and activated the plug-in, and have made my Edit Page look exactly like the one you show at the top of this web page. I tried using both [pagelist depth="2" child_of="4" exclude="6,7,8"] and [pagelist child_of="4" exclude="this,7,18" depth="4"]. Nothing happens either way.

    I am very code-illiterate, so perhaps I am not understanding some of the instructions. What am I doing wrong?

    Reply
    • Try to add just this shortcode:
      [pagelist]

      Explanation of this shortcode:
      [pagelist depth="2" child_of="4" exclude="6,7,8"] - show subpages of page with ID=4, with depth to second level and include pages with IDs = 6,7,8

      Reply
  8. I want to display the value from the custom filed. Not sure how to do it.

    I see 3 options in your plugin.

    meta_key, meta_value & show_,meta_key.

    Not sure what to put in for each of them.

    Please help.

    Thanks,

    Aadesh

    Reply
    • You may use this shortcode: [pagelist_ext show_meta_key="your_meta_key" meta_template="Meta: %meta%"]
      It will print value of meta key "your_meta_key" like this: "Meta: %meta%".

      Reply
      • Thanks a lot! It worked!!! :)

        Is there a way I can change the order of the elements? as my meta info is displayed at the end of content.

        Like:

        PAGE TITLE

        META INFO

        CONTENT

        Reply
        • You can make it only with CSS or if you will manually change the plugin code. But if you will change plugin you also should change the version to ver.100 (for example) for avoid updating plugin, what could override your code;

          Reply
  9. Is this only for pages and not for posts? I tried using [postlist] and got nothing.

    My blogs have most of their content in posts, not pages.

    Thanks!

    Sandy

    Reply
    • There is no ability to add "more" link to the end of the content.
      I think, that nobody will search your site with word "more" :)

      Reply
      • Hey, I think this would be a great option.

        Typically at the end of the text i like to have

        read more on: [title]

        Can you please make this a parameter? its more for usability and content flows for users.

        btw standard "more links" i no follow

        Reply
        • Decisions not Options. "read more on: [title]" - user already has title and user will read more if he will click on title. But if user does not understand, that title is the link, than problem is in site-design and not in plugin tags.
          "btw standard "more links" i no follow" - "nofollow" means, that the link will not influence to PageRang, but it still will influence to the list of indexed words to this page in Google.
          Sorry, but this param will not be added.

          Reply
    • You will not see nothing on your page after plugin install. But now you can add to your page content: [pagelist], [subpages], [siblings] and [pagelist_ext] shortcodes.

      Reply
  10. Hi, I have added the Sitemap plugin into my website and the Firefox browser anf Avast antivirus blocks my site telling me that it has Trojan Horse. And popup the below Avast message.

    URL: http://mysite.com/|%3E[Embedded:...

    Process: file://C:\Program Files (x86)\Mozilla Fi...

    Infection: js:Redirector-MR [Trj]

    With Chrome i can open without any problem my website.

    Could anyone tell me whats going on?

    Reply
    • I can assure you, that Pagelist plugin does not generate any viruses or troyans.
      Page-list plugin generate the same code for all browsers, but, as you can see, different browsers react differently.
      So, I think, that the problem is not in Page-list plugin.

      Reply
  11. Hi,

    Im trying to add the code in my 404 page. Is there a way that I can output the sitemap under the 404 page template PHP?

    like,

    Reply

Leave a Comment