Features
Enhance your blog by creating multiple, three-level alphabetical indexes of your posts based on any combination of post title, author, extract, tags, categories, or custom fields of your choice. Select which posts are included in your indexes using a combination of categories and tags, display them in up to four columns on a single page or over multiple pages.
For example, the AZIndex plugin can be used to:
- Create an alphabetical index of all your blog posts, based on their titles, using extracts as short descriptions.
- Create a music review index, sorted by the name of the artist and the name of their albums.
- On blogs with multiple authors, create an index of posts by each author’s name.
- Create a full alphabetical index of all your blog’s published pages in seconds with no PHP, HTML, or CSS required.
Full list of features:
- Index blog posts by title, extract, author, or any custom field.
- Create indexes for your blog pages. Now you can create a full alphabetical index of every page and post on your site.
- Select index contents using a combination of categories and tags.
- One, two or three-level entries – heading, subheading, and description, all customizable.
- Up to four columns on a page.
- Multiple indexes can be created, each customized with its own settings.
- Indexes may be embedded in posts as well as pages.
- Fully customizable from the WordPress admin console. No need to know HTML or PHP.
- Single or multi-page indexes with page links.
- Optional alphabetical links.
- Display alphabetical headings in your index with links back to the top of the page.
- Group items with the same heading under one entry (e.g. all the novels of the same author).
- Add your own text to the index page.
- Control over the number of index items per page.
- Indexes are cached to ensure speedy operation when dealing with large indexes.
- Customize the stylesheets for the index contents directly from the index administration page.
- Use CSS style striping to decorate your index entries (e.g. add a gray background to alternate entries).
- Use your own customized sort to sort an index.
- Customize which alphabetical links appear with your index.
- Index entries that do not begin with a character or number can be placed at the beginning or the end of the index.
- Punctuation like quotes or double-quotes can be ignored while sorting the index.
- You can exclude categories and tags from an index. Useful if you just need to exclude a few posts from an index.
- Option to automatically include child categories in the index.
- Support for the superfast WP Super Cache plugin.
- NEW in 0.8.0 Sort indexes by tag names or category names.
- NEW in 0.8.0 New item filter allows you to tailor the sorting of the index to you needs.
- NEW in 0.8.0 Three new output filters allow you to modify the HTML of the index, or even create your own!
- NEW in 0.8.0 The table of indexes on the Index Management page is now sortable.
IMPORTANT NOTE: This is still a BETA release, meaning that while the plugin is stable and has undergone considerable testing, you may encounter some bugs as new features and code are added. I have not been able to test all the plugin’s features on all combinations of WordPress versions, browsers, databases, and PHP versions, so some problems could remain on some of the many possible configurations. The best thing to do is just give it a try!
Please read the Other Notes section before installing.
If you try this plugin and like what you see, email to azindex@englishmike.net or visit the AZIndex Plugin Feedback Page to provide your feedback.
Whether you’re reporting a bug, requesting a new feature, or just wanting to make a comment, I will be happy to hear from you.
Stay up-to-date with all the important information and updates about AZIndex by subscribing to the AZIndex Announcements Mailing List.
Arnaud said:
Bug report: filtered indexed words are not used to get the word’s first letter. (Is this the right place for bug report?)
Hi, I’m a french speaking guy and I’m using AZIndex to build a dictionary on my website. In french, we must handle accented letters, so I had to tweak a bit with the excellent “DISPLAY INDEX FILTER” feature. Basically, I wanted to group words starting with “é”, “è” or “e” all together above the E. But I wasn’t able to do so because it seems there is a little bug:
Have a look at az-index-cache.php:818, you build the $item array with vars such as $sorthead.
Then line 830, you apply the filter I tried to use.
But at line 837 you call:
$item['initial'] = $this->get_base_initial($sorthead);
Here you should call this line to take filtered value in account:
$item['initial'] = $this->get_base_initial($item['sort-head']);
Thanks a lot for the excellent work you have done on this plugin!
Arnaud
English Mike said:
Doh! Thanks Arnaud. What happened was that I tested the filter and got it all working properly, then realized that people could mess up by attempting to set ‘initial’ to something other than the first character of the sorted heading, so I added that final reset of the variable, and made the careless mistake. I will update the code and put out the fix.
Cheers,
EM
Rudy said:
Thanks for this plugin. I updated to .80 but I am still having problems. The page previews fine, but soon as I publish it I get a white page with “no input file specified” at the top left. Am I missing something?
English Mike said:
Rudy, there definitely something wrong, but I believe it may be something to do with the way your server is handling your permalinks, rather than AZIndex. If you Google the phrase “No input file specified” and “WordPress” together, you will find that there are a good many others who have come across this problem, and none of them is using AZIndex.
One fix that seems to work for some is to edit your permalinks settings (in http://…/wp-admin/options-permalink.php) and remove the slash at the end, so I would give that a try. (A clue that it might work is that your preview is working fine, and previews do not use permalinks, but the ‘?page=nn” format instead.
I don’t have a clue as to why this only seems to be happening with a page with an AZIndex shortcode on it (you could try deleting just the square brackets from around the shortcode and see if the ‘no input file’ problem still exists or not — if it does, then AZIndex is definitely not causing your problems).
Let me know if that helps.
Mike
Rudy Sanchez said:
Mike, removing the slash at the end of the permalink did the trick! Also, deleting the square brackets still gave me the ‘no input file’ message, so theoretically it can’t be AZIndex. But I couldn’t duplicate the problem by posting a new blank page using a slashed end permalink, so I still don’t understand what is going on. Anyway, I’m glad AZIndex is finally working. Thanks for the tip.
Rudy
English Mike said:
Excellent. Glad that worked. I think the problem is something to do with the way your Apache server is configured, but I don’t profess to understand much more than that.
Faidon said:
Great plugin (by now you must know it!)
My learning curve is not as steep, but will get there.
Is it possible to include in the display of indexes the option of post thumbs?
Thanks
English Mike said:
Faidon. There is no setting on the settings page to display thumbnails, but if you install the new version out today (0.8.1) then there is a way to get thumbnails into your index, if you use the new azindex_display_item filter.
You will need a little bit of code to do it, but there is a good example with source code, on this page, and the index it creates can be seen here.
Lakay said:
Hi there:
Great plugin!
I was wondering where you put the code to get the thumbs displayed. Where do you put this code?
[add_filter('azindex_display_item', 'my_display_item_filter');] and function?
thanks in advance
English Mike said:
Hi Lakay,
There are two places where you can put the code:
1) In your theme directory — usually added to your functions.php file that most themes contain, or
2) In your own plugin file, which you then install just like any other plugin. I will be posting a full article on how to do this tomorrow (Sunday), for some code that allows you to add your own CSS styles to any theme without editing your editing theme files, but you can do the same thing with the code you want to add for the thumbnail index. It’s very easy and is, I believe, the best way to add code like this to your blog. So be sure to come back to the site in the next day or two — I even provide a little plugin file you will be able to download, and add your code to.
EM
Lakay said:
Hi: thanks for the plugin template. It worked but I’m getting a dash “-” on top of the titles.
http://www.movielakay.com/celebs/
I’m not sure why.
Any help would be appreciated.
thanks
English Mike said:
That’s cool you got it to work. You can easily get rid of the dash. Go into the settings page for the index and scroll down to the Heading seperator option. By default, it will be set to ” – ” which is the dash you are seeing in the index.
Unfortunately, if you just delete it then the dash will reappear because at the moment, you have to put something in the text box otherwise it puts the ” – ” back as the default. So what you have to do is type a single space ” ” into the text box and the save the settings. That will get rid of the unwanted dash for you.
(I do need a provide a way of removing the separator altogether, but I think this will work for you in the meantime).
Mike
Dean said:
Exactly what i was looking for, very easy to follow instructions and up and running within minutes. Your plugin features on the home page of my cheap destinations guide and at this early stage of the guide will be a starting point for everything we offer. Great plugin much Kudos.
Dean
Christopher Tan said:
This plug-in is totally brilliant!
It is exactly what I was look for.
I’m working on a website about hymns and need to list them alphabetically. The plug-in works perfectly!
http://www.hymnpod.com/hymn-listings/
English Mike said:
Hi Christopher, glad you like the plugin! I did notice that your theme is putting list item bullets next to the items in the index. That’s okay, but if you’re up to a little CSS sleuthing you should be able to find out where they are coming from and get rid of them.
There’s some more information about that in the FAQ.
Israel said:
Yea, we can do cats! Thank you so very much for including categories in azindex. See our homepage to see how we use them. This now completely eliminates having to create a custom field each and every time we want to index a new post. Now we can just focus on posting articles, selecting the category, and viola, it will show up on the home page like so. Thank you again for listening to feedback. Now to figure out how to eliminate the css call in the middle of the body code. I really think for advanced users you should simply tell them to copy paste an include call for your plugin’s own css file from their theme’s css, rather than store your plugin’s theme css only in the database and force it to be called in the body as page renders. With an include in the theme’s css to a css file your plugin can modify directly, it can be loaded in the header with the theme’s css, and not break xhtml validation.
English Mike said:
Glad you like the new function. No need to fret about the CSS — it will get done eventually — probably about the time I fix up the HTML the plugin generates.
Israel said:
oh, and could you include pagination as an option (some search engines don’t like anything more than 100 links on a page). And with the pagination, allow for links to each additional page to show up in the navigation (so search engines don’t have to dive into multiple levels to reach pages further down the index).
English Mike said:
Pagination? You mean the “multiple pages” option already available in the settings?
Just select the option and type in the number of items you want per page (in the field that appears at the bottom of the settings page).
As in this example:
http://azindex.englishmike.net/gallery/site-index-2/
Faidon said:
It seems that I lost my earlier comment!
Mike, is it possible to make/show the headers and/or subheaders as links? and at the same time limit or control the number of posts/items under each of theose headers? For example only the last thee items may be displayed under each heder/subheader…
Just a thought!
Thanks for your good work
F
English Mike said:
Hi. Faidon. I don’t know what happened to your previous comment. If it was here (and not on the old site) then there is no record of it (not even in the spam bucket).
I’m not exactly sure what you are asking for. Headings and/or subheadings are already links, but I think you must be talking about something else. If you give me an example of what you want, that might help.
As for limiting the number of items that appear under one heading. No, that’s not possible, but again, I am not sure what you are asking for, exactly. Another example would be good.
Thanks,
Mike
Faidon said:
Thanks for picking it up Mike
here is what I have in mind: http://www.hrw.org/en/topics
Possible with AZIndex?
F
English Mike said:
Hmm. You can’t do this directly with AZIndex — there is no way to filter out the older items the way you would want to. You can only filter by tag or category. However, if there was a way to tag only the most recent items in each category/tag (you could write some code to do it, if you know how) then you could do something like this. The code would have to untag the older articles as new ones were added. (You could do this manually, by adding a tag to the new article and removing the old at the same time, but doing it automatically would be better in the long run.)
You would also have to write a custom comparison function to sort subheadings (the post titles) in date order, but that’s only a few of lines of code. Then you create an index with categories as the headings, post titles the subheadings, and the date (inserted using the azindex_display_item filter) as the description.
So it can probably be done, but not without writing some PHP code to maintain the tags (there might be another plugin that can do this, I don’t know) and sort them by date.
Matthew Kettlewell said:
Mike –
Do you have an example comparison function to sort headings by post date?
This would also be a nice built-in option for the admin side to have a “sort by:” option where you can sort by date, category, heading, title, author, etc and then a check box to sort in reverse order.
Awesome plugin!
Faidon said:
Thank for picking it up again
Cheers
F
Glenn Caleval said:
Just happened across your plugin by mistake. What a wonderful mistake! This is an exciting project to me.
I did an auto-install so didn’t even follow the good hygiene of uploading it myself and it just worked. I’m honestly floored by how easy it is and how, well, it just works.
I installed and created two index pages in under 15 minutes.
Instead of making everything fit into sidebars, your approach of building a plugin that actually builds a page is fantastic. I hope you will consider doing similar projects for Tags and Links.
I’ll sit on it while it’s still in beta, but if it doesn’t blow up in the next month, this is definitely worth a contribution (I hate the word “donation” since it’s not like we’re not getting anything for the money
Many thanks,
Glenn Caleval
English Mike said:
Hi Glenn, thanks for the kind words, and I look forward to your contribution
As far as the beta designation goes, the only reason I’m keeping it on there is that some of the functionality is still incomplete — two things in particular:
1) I will be refactoring the HTML generating code to produce less quirky HTML for the links and the items (to make it easier to apply styling of your choice).
2) The collation (sorting) of indexes in other languages is not working that great yet. I’m not sure how much I can do there since it’s a hugely complex subject to tackle.
Otherwise, it’s looking very stable at the moment. Nobody has reported any problems with the latest version (0.8.1) though I suppose that could mean no one is using it!
But as long as you don’t upgrade the same day I put out a new major version, I don’t think you will run into too many problems going forward. I usually jump on anything I’ve broken within 24 hours or so, so if you ignore the nags in the Admin page for a few days, it’s usually very safe to upgrade after that.
Mark said:
Mike,
great plugin, except nothing in theindex links.
I mean I’ve installed it ok and it’s displaying an index, but none of the titles link to the posts.
Where did I go wrong?
I’m using the latest version of the index on wp 2.7.1 and am running it on my local server.
English Mike said:
Hi Mark — you’ve encountered a common problem — you turned on the “Group items…” option, but that only works if you have headings and subheadings in your index. Unfortunately the side effect of this combination of just headings and this option is to give you an index with no links!
All you need to do is go back into the settings page and deselect the “Group items with the same heading…” option and you will be fine.
In the next version of the plugin, I have added some code to prevent people from selecting this setting unless they have subheadings selected, because it’s an easy mistake to make, and can leave users scratching their heads!
Hope that works for you.
Mike
English Mike said:
I should add that this plugin is also an excellent place to put AZIndex filter or custom comparison code. Just add it to the code that’s already in there.
Israel said:
Saw that! Thank you again so much.
Kim Haverblad said:
Great plugin and it seems also that you’re working really hard to enhance it so here are a few more suggestions:
1. It has already been mentioned about jump index list and the use of in the templates; but I would really like to see that the individual Index created would have a few features to add an index and how it should be defined, ie letters only and/or including numbers.
2. Possible to enable excerpt of the listed articles.
Kind Regards
English Mike said:
Hi Kim. yes, I’m still working on new features which will roll out over the next few months.
Regarding your suggestions —
1) I’m not sure what you mean about “jump index list”. Templates is definitely something I will look at, though probably not until I have version 1.0 done. I will look at more options to define what should be in the index, but there will always have to be a balance between flexibility and usability. There is a point where adding more options will make the plugin harder to use (and keep bug-free).
2) Allowing excerpts from posts (as opposed to the excerpt *of* the post) is a possibility. I deliberately omitted that option because it would mean having to load the contents of all the posts when sorting the index, which might cause memory and/or performance issues, especially on shared server accounts or with big indexes.
There are ways to mitigate these problems, but it would probably mean adding even more options to the settings page, which I am reluctant to do.
One of the things I will continue to do, which will help in all the cases where there are not options available to do something you want, is to add filters so that you can write a little bit of code to do exactly what you want.
For example, even though there is no option for adding excerpts of posts to the index page, you can actually do this by using the item display filter. Of course, not everybody is a PHP programmer, so it’s not for everyone, but I’m hoping that over time, others will share and contribute their own filter code and we can build up a library of useful filters for AZIndex.
Matthew Kettlewell said:
Mike –
Great plugin. One suggestion: How about an external css file?
Other than that, I love it – I’m going to be using it as a way to display some of the latest deals that I’ve compiled.
The link on my name should take you to my deals & specials page to see it in action.
Thanks again – I’ll check for updates later to see if you add an external css file.
Matt
English Mike said:
Hey Matthew. You’re not the first to suggest an external CSS file, and you will be pleased to know that the next version (probably out before the end of March) will allow you to use an external CSS file instead of the embedded one. At the very least, you will be able to exclude the embedded CSS from the page, so you can add it to your theme’s stylesheet instead.
Glad you are finding the plugin useful. Your subject matter is certainly… interesting
Mike
Matthew Kettlewell said:
Glad you like the subject matter
Another thing that we found was the use of the span tag has created a styling issue for us in FireFox –
But not to worry , we changed out the spans with divs and all is good now
I don’t know what other ramifications this would have for others, but the difference is subtle, but very exacting (having to do with styles being ignored in certain situations with spans)
Our particular use was with groupings of sub-categories, and we couldn’t increase the padding between the head and subhead.
We’re fixed up, so no worries, but thought that you might be interested to look into it for future versions.
You can look at our corporate resources page where we’ve changed it over using divs, if you want to see it in action
Thanks again for the great plugin
Matt
English Mike said:
Hey Matthew. A redesign of the generated HTML is definitely on the cards, and you’re not the first person to comment on the use of the span tag
. I haven’t done any work on that code yet–and I will be giving plenty of notice of the changes, since it may affect anyone does use the default CSS stylesheet.
It’s interesting, though, that you could not increase the padding between the headings and subheadings, though. I thought I had done exactly that with an example index on my old site. I will have to look into that.
Piet said:
Hi Mike,
Well, don’t know what kind of changes you made with the latest update, but it completely destroyed all my previous work to get it right.
Maybe it works for most people, but it doesn’t for me and – probably more important – I don’t have a clue what you mean with all the filters, indexes, and other blah blah.
Pity though, cos I like your plugin, guess I am stuck now with version 0.76
Piet said:
Apologies for my rush comment last night…
OK this morning I had another hard look at it and I sort of figured it out, but I must say that for some things your custom css seems to work and for others it doesn’t, which I find utterly weird.
I had to add 3 lines to my own css, to make it work, they were ruled out although I put the exact same lines in your custom css too. FYI the lines are:
#contentleft .azindex h2 {}#contentleft .azindex ul {}
#contentleft .azindex ul li {}
I hope it is safe to assume that the changes I now made will remain as such even if I update to a new version?
Will now have a look at your other help files to see if I can “pimp” up my index…
Still like your plugin and now also version 0.8.1
English Mike said:
Hi Piet, no worries about the earlier comment. I was going to ask you for more info so I could help you out, since nobody else has reported any migration issues at all (and I usually get one or two at least!).
I am glad you sorted it out, though I am not sure I quite understand why your code broke with 0.8.1–I did add an extra “div” around the whole index, which I guess might have been the problem.
As a rule, unless I say otherwise–and I will always give plenty of warning–your settings (including the custom CSS) should continue to work, as before, when you move up to a new version. So your custom CSS should be safe for the time-being.
Note: I have already warned everyone that there will be changes to the plugin that will probably break people who are using custom CSS. This is because I will be improving the HTML the plugin generates, and that will probably require changes to any custom stylesheets being used too. This is not likely to happen before the end of April, and I will provide plenty of warning of the changes.
One thing that might help is that I am adding an option to exclude the index stylesheet from the generated index HTML — so you can keep all the index styles in your theme’s stylesheet (or wherever you like).
CSS will always be a bit of a headache for some users of the plugin because the look and feel of the index is affected by the current theme’s stylesheet, and there is no easy way for me, the plugin writer, to prevent some themes from affecting the generated index in some adverse way. (I am not sure that adding !important to every CSS style for the index is a good thing!).
I do intend to write some more detailed documentation on the subject, but I haven’t quite gotten around to it yet!
Mike