Creates customizable lists/tables of text/thumbnails/links to posts, pages, taxonomies, attachments, custom post types, and image directories.
Parameters not specified will be taken from the values set in the WordPress admin panel. The optional display parameters should be enclosed in the display argument; for example,
display="x" Displays a list or table, based on "x" as follows:
images-- a table, with one cell for each of the child pages of the current page.
list-- a list, with an entry for each child of the current page
attached-- a table of images attached to the current post or page
attachments-- table of items from the "Attachments" plugin (see below)
posts-- a table of posts listed in the postid="" parameter
posts:TYPE-- a table of posts in custom post type TYPE
/folder-- a table of images located in wp-content/uploads/folder
Optional parameters, in a comma-separated list:
list-- Used with display="posts" for list, not table
thumb-- Display the thumbnail for the pages or posts
title-- Display the title for the pages or posts
excerpt-- Display the child page's "manual excerpt" (see FAQ)
siblings-- Display siblings (other children) of the current page
family-- Display all children, grandchildren, etc. of page
self-- Include the current page (with siblings, or family) (normally the current page or post is excluded)
image-- For posts, link to full-size of thumbnail instead of to post itself
page-- For attachments, link to attachment page
nolink-- Disables links entirely The above parameters may be preced by 'no' to disable the feature (as when set by default or in the plugin options page).
caption="x" Adds a caption to the table. (First table only, see
columns="4" Displays 4 columns of images
size="x" Choose a display size 'x' as:
large-- WordPress standard sizes
size_large-- sizes from AutoNav settings screen
300x200-- force images to be resized/cropped to an exact size
auto-- uses settings from autonav control panel
Sizes registered with add_image_size() should also work.
titles="1" Displays page titles below images if 1 (default: "0")
(same as using
title parameter to
pics_only="1" When displaying child pages, only show those with associated images
include="1,7" Used with
display=/folder syntax only; others, see
postid parameter. The resulting table will have only two pictures,
the first found ending in "1" and "7" -- note that because both 1
and 7 are numeric, the image "pic11.jpg" would not be included, but
"pic1.jpg" or "pic01.jpg" would be. For non-numeric values, the
first found picture whose name ends with the value given will be
exclude="3,dessert" Excludes posts/pages with ID 3 and the slug
dessert' Note: To include posts or pages by category, author,
etc, see the
combine="x" Combines table rows as follows (default: "all")
all-- all rows combined into one table
none-- each row a separate table
full-- combine all full rows into one table, with trailing row a separate table (so it can be centered)
crop="1" Crops images to fit exact size, or "0" to fit maximum
into size, centering image; "2" crops from upper-left; "3" from top
middle (useful with head-and-shoulders portraits)
sharp="1" Changes downsize algorithm from 'resample' (smooth) to
the more blocky 'resize' (see below)
start="1" Starts at the second image or page (counting from zero)
count="2" Includes only two images or pages
paged="12" Displays 12 images on one 'page' along with next/prev,
and page numbers. Note: 'start' and 'count' are applied first to
trim which images are included in those displayed and paged.
order="desc" Sort order: "
asc" ascending, "
desc" descending, "
orderby="x" Where 'x' is any orderby parameter (e.g.,
title) from the
or one of:
postmash-- use order defined by PostMash plugin
meta:subpage_title-- sorts by any custom field; here we sort by the child page's title as overridden by the subpage_title custom field (see FAQ section)
The orderby parameter is not used when displaying attachments or images from a directory.
imgrel="lightbox" Sets the relation tag of the created links as:
<a rel="lightbox" ...>
group="vacation1" When combined with
sets the relation tag to be:
postid="123" Displays images or subpages attached to the page(s)
or post(s) with the given ID, or comma-delimited list of IDs,
instead of the current page or post. Can also select posts in
category/tag/author; or pages with specified path, author or custom
In addition to a numeric postid, you may select posts or pages as follows:
postid="cat:17"posts in a numeric category or categories
postid="category:17"(same, 'cat' is abbreviation)
postid="category:-17"posts not in a numeric category
postid="category:cakes"posts by category name
postid="category__in:cakes,cookies"posts in any of the listed categories
postid="category__and:cakes,chocolate"posts that must be in both categories
postid="category__not_in:cakes,chocolate"posts not one or more categories
postid="category:*"posts in the same category as the current post/page
postid="tag:37,38,53"posts with numerically specified tag(s)
postid="tag:chocolate"posts by tag name
postid="tag__and:chocolate,hot"posts that have both tags
postid="author:27"posts or child pages with a specific author by ID,
postid="author:Todd"...by author name,
postid="author:*"...by same author as current post or page.
postid="status:future"future posts or pages. see list in the codex
status=*for same status as current post/page. Can also use custom status types.
postid="movies:comedy"posts tagged in a custom taxonomy
postid="movies:drama,horror"posts with any of those tags in custom taxonomy (if 'movies' taxonomy is defined) or with custom field
postid="month:january"subpages of current page, with custom field "month"="january" Note: selection of Pages by taxonomy not yet supported
postid="recipes/desserts"page by its full path (NOT merely its slug)
You can specify both a page/post ID and one of the above. For example, postid="27,author:Todd" would show subpages of the page with ID=27 that have author Todd.
Note that any of several plugins, like this one, must be used to associate a category with a page. Once you have done so, you can for example, create a page for each of your categories which will display a list of the most recent posts in "its" category:
[autonav display="posts,nothumb,title,list" postid="category:*"]
You could also display a list of all the most recent posts not in the page's category:
[autonav display="posts,nothumb,title,list" postid="category__not_in:*"]
The postid selectors category__and, category__in, category__not_in permit more complex category selection, as described in the codex.
You may also select attachments based on their parent (given by
slug or post-ID), their author (which WordPress sets when the
attachment is uploaded; there is no built-in way to edit an
attachment's author, although a plugin may provide one), by
or by the categories or tags set through the Media Tags
plugin or the
[autonav display="attached" postid="recipes,tag:dessert"]
would display images, attached to the recipes page, having the attachment tag "dessert".
It is even possible to display attachments having a certain tag or
category from all posts and pages, a special case of
[autonav display="attached" postid="-1,tag:dessert"]
Note that you must set the taxonomies on the AutoNav settings
page. For Media Tags, use attachment tag, "
media-tags"; for the
Attachment Taxonomy plugin, use "
attachment_category". Other taxonomy names are permissible in hopes
of being compatible with future WP versions.
NOTE: The Sharp parameter is now regarded only by an optional addon. Additional example values are:
Revisit whether autonav_pick_files filter is be called for each attached file. This needs to happen after all attachments have been added, and we need to have the ['menu_order'] of the attachment so we can implement: [autonav display=attached include="#1,#3"] However that needs to happen after the handling of start= and count= ... (2011-11-12)
BUG: the postid="foo:bar" for pages sets meta_tag and value for custom field types, but does not yet support custom taxonomies. For posts, if the taxonomy "foo" exists, that will be used; otherwise it will look for the custom field "foo".
Test the creation of $pic_size_info['date'] when scanning folders. Add code to permit orderby="date" to work with display="/folder"
Several calculations of pic_full_path -- can we rationalize?
Ensure that the 'include' parameter for e.g., posts, does not conflict with autonav_select_include() as called by the autonav_pick_files filter. Perhaps we need a special flag in $attr?
Consider: in autonav_wl_shortcode(), use autonav_get_ postid_modifiers() to ALSO parse the display= parameter.
Eventual Version 2.0 plan is for postid is to permit more advanced general queries as described here: http://ottopress.com/2010/wordpress-3-1-advanced-taxonomy-queries/
Support S3 and similar plugins. Probably will only work with Attachments, and will add custom sizes to the 'sizes' array in the attachment's metadata. Although the metadata gets flushed under certain circumstances [when?] this should allow AutoNav to work seamlessly with any S3 or similar plugin that keeps attachment images in places other than the local filesystem. On hold pending better definition, or a sponsor for this project.
Support creation of thumbnails for PDF and other attachment types, possibly through filters and auxiliary plugins.
[Note 20120111] Other filetypes handled in get_images_from_folder() must take care to let actual images take priority regardless of which appears first in directory. The switch statement will need to take this into account.
Requires: 3.5 or higher
Compatible up to: 3.5.2
Last Updated: 2013-1-26
0 of 4 support threads in the last two months have been resolved.
Got something to say? Need help?