AZIndex Plugin v0.6.2

AZIndex Logo


Announcing the AZIndex Plugin, a flexible WordPress plugin for generating alphabetical indexes of your weblog’s posts.

Enhance your WordPress blog by creating multiple, three-level alphabetical indexes of your posts based on any combination of post title, author, extract, 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 review index, sorted by the name of the artist/author and the name of their albums/books.
  • on blogs with multiple authors, create an index of posts by each author’s name.
  • create an 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.
  • ndexes 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.
  • NEW for v0.6! You can exclude categories and tags from an index. Useful if you just need to exclude a few posts from an index.
  • NEW for v0.6! Option to automatically include child categories in the index.
  • NEW for v0.6! Support for the superfast WP Super Cache plugin.

IMPORTANT NOTE: This is still a BETA release, meaning that while the plugin is stable and has undergone considerable testing, it is likely you will come across a bug or two. I have not been able to test all the plugin’s features on all combinations of WordPress versions and browsers.

Please read the Release Notes below before installing.

If you try this plugin and like what you see, please provide feedback by either adding a comment below or sending an email to mike@englishmike.net. No matter if you’re reporting a bug or requesting a new feature, I will be happy to hear from you.

Installation and Getting Started

(Note: For a more detailed introduction to AZIndex, please see the new AZIndex User Guide.)

Here are the instructions for installing and getting started with the AZIndex plugin:

  1. Download the AZIndex Plugin, unzip it, then upload all the contents (including the azindex directory), into your WordPress installation’s plugin directory.
  2. From the Plugin Management page, activate the AZIndex plugin.
  3. To create a new index, go to Manage >> AZIndexes and click on the Add New link.
  4. Once you have selected the options you want, click the Add Index button and a new index, along with a new blog page, will be created.
  5. To view the contents of your new index page, go to Manage >> Pages and preview the new blog page created for your index.
  6. Make sure you try out all the options. They can be used to tailor the look and feel of the index to your satisfaction.
  7. Hint: Consider using custom fields in your posts to set the headings and sub-headings of your index. For example, if you are indexing book reviews you have posted, you can create an index that uses custom fields to access the authors’ names as headings, and the book titles as sub-headings. That way you can have a well organized index without having to mess with the titles of your reviews.

Demos

Here are a couple of example of what you can do with the AZIndex plugin:

AZIndex Demo Page 1
AZIndex Demo Page 2

Release Notes : AZIndex version 0.6.2

See AZIndex: Other Notes in the WordPress Plugin Directory.

151 Comments

  1. Jon Peltier said,

    I set up an index, it tells me the index was successfully created, but the index page shows only

    [az-index]

    in the Edit Page screen of the WordPress dashboard, and when previewing the page, all that appears is

    ERROR: No index for this page was found.
    (Message from the AZIndex plugin)

  2. English Mike said,

    Hi Jon, sorry you’re having trouble. I just double-checked to make sure the published version of the plugin works for me, and it does (phew!):

    http://englishmike.net/azindex-test-page/

    The plugin keeps track of the index page it creates from the pageid that WordPress assigns it. The error your seeing should only happen if the id of the page containing the index doesn’t match any of the index definitions you created.

    Anyway, first I would try starting over. Delete the index you created and try again. Don’t change any of the options at first except for entering a title for your index page, and see if that works. If that does works then it’s possible that the combination of the options you chose caused a bug. Let me know what you find.

    But if you’re still having a problem with any index configuration that probably means that your WordPress setup is different from mine.

    What version of WordPress are you using? And what version of PHP is your WordPress installation using? I have only tested the plugin with WP 2.5 and WP 2.5.1, both of which were using PHP 5. If your installation is using PHP 4.3 and I accidentally slipped in a 5.0 only API (I am fairly new to PHP) then that could be causing the problem.

    Mike

  3. Jon Peltier said,

    Hi Mike -

    I am using WP 2.5.1, PHP 5.1.6.

    I’ve tried deleting the index page and rebuilding it, including attempting different settings and combinations. The post is created, it just doesn’t contain any information.

  4. Jon Peltier said,

    Also MySQL 5.0.45.

  5. English Mike said,

    Hey Jon, well this is a bit of a head-scratcher since it’s a pretty basic function that’s not working for you. If the plugin wasn’t installed correctly you would be having much worse issues, and you seem to have all the up to date software installed (assuming PHP 5.1 didn’t change anything, which I think is a safe assumption).

    I haven’t heard of anyone else having the same problem yet (there have been about 35 downloads so far, but no other feedback), but it is early days (my first day of my first foray into open source software!). So I would like to investigate further, if you are willing to bear with me (I appreciate you willingness to try out the plugin).

    I don’t have solutions tonight, but I will do some more digging tomorrow to see why the plugin can’t match the created page’s id with the index you created. The logic is very simple — I call id = wp_insert_post(…); and immediately insert the returned id into the database the very next line. If the page create failed then you would see no new page, and if the database insert failed then you would not see a new index in the table. But you see them both. Very strange.

    Unless the post’s ID has been modified in some way (you don’t happen to have any weird plugins installed that might do something like that — do you?), then I am still missing something in my code (which is perfectly possible). I do make the assumption that the id of a post is immutable once it has been created — perhaps I am wrong in that case?

    Anyway, enough rambling. I will investigate further tomorrow.

    Cheers,

    Mike

  6. English Mike said,

    By the way, I forgot to say this earlier — you should only see [az-index] when you edit the index page — the index is built on the fly when a user accesses it. (or should be anyway!). You can add text in front of [az-index] or after it too (as in the example on this site). But you certainly should not be seeing that error message when you preview the page.

  7. Jon Peltier said,

    Mike -

    Makes sense about seeing the [az-index] in the Edit Post screen.

    Another hint: When I create an index, I see the message saying “Index added successfully”, but it also says “No index pages found”. Even when I navigate away and return to the screen. Shouldn’t this update when the index is added?

  8. Jon Peltier said,

    Installed plugins:

    Adsense-Deluxe 0.8
    Akismet 2.1.5
    AZIndex 0.1
    BackUpWordPress 0.4.5
    CommentMailer 0.1.3
    FeedBurner FeedSmith 2.3.1
    Google XML Sitemaps 3.1.0.1
    iG:Syntax Hiliter 3.5
    Post-Plugin Library 2.5.0.6
    Recent Comments 2.5.0.1
    Recent Posts 2.5.0
    Similar Posts 2.5.0
    Text Link Ads 3.1.0
    Ultimate Google Analytics 1.6.0
    WordPress.com Stats 1.2.1
    Wordpress Automatic Upgrade 1.1
    WordPress Database Backup 2.1.5
    wp-cache 2.1.2

  9. baron said,

    hi. Thanks for plugin

    perfect.

    Regards

  10. Fred said,

    Hi. Looks like a plug that would fit nicely on my blog. One question though, is it possible to implement the index on an existing page - ie my Arcives page? Having the index beneath the archive list would look really cool.

    Cheers from Stockholm, Sweden.

  11. English Mike said,

    Hi Jon (and Fred) - thanks for the info. I was thinking about the way the plugin links indexes to posts using post-ids, and have come to the conclusion it might be a bit flaky. I am going to make a change to the way I do that — essentially by changing [az-index] to something like [az-index id=3] where the id is the id of the index you created, so the plugin no long relies on the id of a post staying the same.

    That will actually help Fred’s situation since you will be able to plug an index into any page (i.e. the Archives page) or even a post, if you wanted to. That sounds like a better solution.

    I can’t guarantee it will fix your problem, Jon, but it should. I’ll try to have a new version of the plugin available today.

    Cheers,

    Mike

  12. English Mike said,

    Fred — to clarify — you can’t plug the index into another page at the moment, but the next version will allow you to do that.

  13. Jon Peltier said,

    Mike - This open source stuff is neat. A little discussion, followed by a little improvement, etc. Always getting a little better, almost painlessly.

  14. English Mike said,

    I agree, Jon. And thanks for persevering with me. I know from personal experience how easy it is to just drop something if you can’t get it to work first time :-)

    Anyway, I just uploaded version 0.2 of the plugin, which I am pretty sure will fix your problem. My guess is that one of your other installed plugins was doing something I hadn’t anticipated (which was my problem, not theirs), and the more I thought about it, the worse I realized my assumption was.

    Anyway, the cool thing is that as a result of fixing the problem, Fred now gets to put the index anywhere he wants, so it’s a win-win all round (until you find the next show-stopper bug, anyway!).

  15. Fred said,

    Sounds great Mike! I actually giggled at the ‘next show-stopper bug’ remark, how sad or
    cool is that? Anyway - looking forward to the new feature!

  16. Cegah Satwa Punah said,

    I’ve just downloaded, not tested yet.

  17. Mike F. said,

    Mike,

    Very cool idea for a plugin. The plugin demo on your site looks like exactly what I need.

    Unfortunately, I’m having the same problem as Jon. When I create an index, I receive the message that the index was successfully created, but immediately below that, I still see the message “No indexes found”. It does create the blog page, with [az-index id=1], but when I publish and navigate to that page, I see the message “ERROR. No indexes found for that id”…or something close to that.

    I’m using PHP 5.2.6, MySQL 4.1.1, and Wordpress 2.5.1. I do have quite an assortment of plugins, so I might experiment with disabling some of them. Some of the plugins that Jon and I have in common are wp-cache, google xml sitemaps, and wp-stats.

    One question: does your plugin create a new table? If so, what is this table called? I don’t see a new table in my database, but I could definitely be overlooking it.

    Anyway, thanks again. I’ll do some investigating and let you know what I find.

    Thanks,
    Mike

  18. Mike F. said,

    By the way, I just downloaded the plugin this morning, so presumably it is after you put in the fix that you thought could possibly help Jon.

    Thanks,
    Mike

  19. Mike F. said,

    So, sorry to inundate you with so many messages, but I looked through the code, and if I’m reading it right, it seems that a table should be created with a name of something like wp_az_index. Is that right? If so, I don’t see that table, and I’m wondering if the code just doesn’t return an error when attempting to create an index in that nonexistent table. I might try to manually create the table to see if it works. Anyway, just wanted to give an update.

  20. Jon Peltier said,

    Unfortunately the new version has the same problem. Here’s the precise error message in the index page:

    ERROR: No index with the id of 1 was found.
    (Message from the AZIndex plugin)

    Mike F’s last post about the missing table makes sense. I wonder why it isn’t created for all users….

  21. English Mike said,

    Hey Mike/Jon, that’s very strange — the demo page on this site is a live demo using the plugin, so it’s tough to know why it’s not working on your web sites when I can’t reproduce the problem.

    Yes, the plugin creates a table called “wp_az_indexes” and INSERTS an entry for each index you create. But if the table wasn’t being created, you wouldn’t see the indexes you create being added to the index table on the AZIndex admin page — which I assume you are seeing, right?

    If that’s true, then the problem would seem to lie with loading the database table when the short-code (az-index) (in square brackets) is encountered. That code is in az-index-admin.php:

    function set_vars_from_table($id) {
      az_trace('fn:set_vars_from_table');
      global $wpdb;
      $indexes = $wpdb->get_results("SELECT * FROM ".AZ_TABLE." WHERE pageid = $id");
      if (count($indexes) != 0) {
      ...

    The function returns the count of indexes in the table, which in your case must be zero for some reason. So it looks like this is the query that’s failing, but not always, which is very strange. ( ‘pageid’ is really the id of the index, I just didn’t want to rename the field in v0.2 and break users who didn’t uninstall the plugin between versions). The query is very basic SQL so I wouldn’t think that an older version of SQL is the issue either.

    If you wouldn’t mind, I’ve uploaded a debug version of az-index-admin.php which will dump out a couple of debug lines on your screen (in yellow):

    http://svn.wp-plugins.org/azindex/branches/debug/az-index-admin.php

    If you wouldn’t mind installing this on your system (in plugins/azindex) and let me know what it says.

    In the meantime I’ll keep looking. It doesn’t seem to be a plugin interaction issue, since I removed that likelihood with the fix that failed, so it’s probably a bug or incompatibility in my code somewhere.

    Thanks again for the continuing feedback.

    Mike

  22. English Mike said,

    Oh, I should just double check. Can you create and edit indexes in the admin panel ok? You know, creating a index, saving it, then clicking on “Edit” again and all the options you set show up ok?

    If that’s all working then the database table is ok — it’s just this query in the comment above that’s failing for some reason.

  23. Jon Peltier said,

    In the Manage AZIndexes page I see this after adding an index:

    Index added successfully.
    No index pages found.

    I cannot edit an existing index because none are found.

    Here is the text of the index page:

    fn:set_vars_from_table; query index id = 1
    fn:set_vars_from_table; rc = Array; index count found: = 0
    fn:set_vars_from_table; rc = Array; index count found:a = 0
    query = SELECT * FROM wp_az_indexes WHERE pageid = 1
    fn:set_vars_from_table; rc = Array; index count found:b = 0

    ERROR: No index with the id of 1 was found.
    (Message from the AZIndex plugin)

    It seems that the table “wp_az_indexes” was not created: I can’t see it using phpMyAdmin, but all the other tables are present.

  24. English Mike said,

    Thanks, Jon, that clears it up. No database table. Weird.

    I’m using the API: maybe_create_table(AZ_TABLE, $sql); on activating the plugin, and it doesn’t seem to be working. I guess the function is saying “maybe not!”

    (I should also do something about that misleading “index created” message you got. The plugin should notify the user if the database table doesn’t get created).

    I will look into why the table isn’t getting created and check back a bit later.

    Thanks again for the help.

    Mike

  25. English Mike said,

    Hey Jon, I think we’re down to two possibilities -

    a) the plugin’s activation hook isn’t getting called.
    b) the database create table is failing

    I have updated the debug version of the code with a couple of extra trace statements:

    http://svn.wp-plugins.org/azindex/branches/debug/az-index-admin.php

    The output won’t appear on the screen so it has to be written to a file on your server. The file is called ‘az-trace’ but I’m not sure where PHP will put it — on my system it’s put in the WordPress root directory.

    I also replaced the maybe_create_table function (though it looks perfectly ok to me) with a direct $wpdb->query(CREATE) call, just to see what happens.

    Reactivate the plugin and go to the AZIndexes page. That should put enough stuff into the az-trace file to see what’s happening.

    The trace output should look something like:

    fn:az_plugin_activate : start

    CREATE TABLE wp_az_indexes ( name text NOT NULL, pageid int NOT NULL, categories text, tags text, heading text, subheading text, description text, columns tinyint, headingseparator text, itemsperpage smallint, customcsssingle text, customcssgroup text, options set('add-spaces', 'group-subhead', 'alpha-links', 'alpha-links-unused', 'alpha-links-two-rows', 'multipage', 'multipage-links-above', 'multipage-links-below', 'custom-css'), PRIMARY KEY(pageid));

    0
    fn:az_plugin_activate : end

    If you can’t see all that in the az-trace file, then WordPress isn’t calling my activation routine for some reason.

    I’m dumping out the SQL statement to see if that’s the issue. You can try cutting and pasting it and running it in PHPMyAdmin to see if that creates the table for you. At least then you’ll be able to play with the plugin!

  26. Jon Peltier said,

    I swapped files again. Here are the results:

    1. I can’t find the az-trace file. I looked in the WordPress root, the directory above that, all the directories between WordPress and the azindex subdirectory under the plugins directory.

    2. I received the same output trace as before in the index page.

    I presume everything starting with CREATE and ending with the semicolon constitutes the SQL statement that adds the table? I’ll see if adding the table manually is good enough.

  27. Jon Peltier said,

    Hmmm, ran the SQL, but got an error:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘columns tinyint, headingseparator text, itemsperpage smallint, customcsssingle t’ at line 1

    I’m a SQL copy-paste expert, but not too good at generating my own SQL or debugging. The MySQL version is 4.1.20-log, FWIW.

  28. English Mike said,

    Thanks, Jon. Well, it looks as though I’m going to have to install MySQL 4.1 :-)

    I’ll get back to you when I’ve checked it out.

  29. English Mike said,

    Ugh — I finally figured it out… By process of elimination (and I eliminated just about everything else in the query first!) it turns out that MySQL 4.1 doesn’t like me using “columns” as a field name. Obviously not an issue for 5.0, but 4.1 squeals loudly when you use it. (I’m guessing it’s a reserved word in 4.1 and that 5.0 relaxed the restriction on it.)

    Ah well, thanks again to Mike F. and especially Jon for your feedback while I chased bugs down the wrong rabbit holes. I will rename the columns field and upload a new version of the plugin for you all to try out. I will also add some more error checking to the code in the near future so that problems like this are less painful for me and the user to figure out.

  30. Jon Peltier said,

    Mike -

    Thanks for your diligence in figuring this out. I was starting to feel like a PITA, but I know I appreciate it when users of my lame little apps follow up with debugging details.

  31. Jon Peltier said,

    I was installing another plugin and noticed the link to a new version of AZIndex. Click.

    I created a new index, it appeared in the list, and when I previewed the page it gave me a list of all of my posts.

    Excellent! And thanks for keeping on it.

  32. Mike F. said,

    I concur: thanks again Mike! I never would have guessed that it was a reserved word issue.

    I’ll try installing again now.

  33. English Mike said,

    One word…. phew!

    :-)

    Thanks for the confirmation that you’re up and running, Jon. You need not have worried about being a pain. I’ve been a software developer and tester for over 20 years, so I can usually tell pretty quickly who the awkward customers are , and you are definitely not one of them.

    Thanks again,

    Mike

  34. Lionel Chollet said,

    Hi,
    thanks for the plugin!

    What would be nice: a way to add the easy index-ordering capabilities of AZ-Index to regular archive pages (i.e.: complete with any data that one may want to display in an archive page… post’s picture, metadata and so on), and a way to add natural order in numbers used in custom fields.

    I’d like to order my archive pages according to a custom field value that’s the article’s product reference number, and it would be great that “24283″ came after “3768″.

    I couldn’t manage to order my archive the way i’d like to, even after reading http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query (admittedly, I’m so a n00b).

  35. English Mike said,

    Hi Lionel. I get what you’re saying about custom queries, I struggled with the query_posts() for a while before deciding to use a direct MySQL query instead. There were a couple of bugs in query_posts() that I could not work around easily. So don’t feel bad about not figuring it out!

    Anyway, in regards to your questions. First, I figured out how to include an index in a template file (which is what I think you need). You can’t just add the [az-index id="1"] short code because it doesn’t get passed to the AZIndex plugin if it’s not in a post or page. What you can do is add something like this to the template (below the main post loop):

    <?php
       query_posts('pagename=index-page');
       while (have_posts()) : the_post();
          the_content();
       endwhile;
    ?>

    where ‘index-page’ is a page containing the [az-index] shortcode. I tested this and it seems to work ok.

    Now, regarding your “natural ordering” request. It’s an interesting idea, though not exactly in the spirit of alphabetical indexing :-). So I’m not sure really sure it’s a good fit for this plugin (though I won’t rule it out yet!).

    However, there are a couple of things you could try yourself:

    1. Add leading zeros to make the product reference numbers all the same length (I’m sure you’ve considered this one already).
    2. The sort comparison function (az_compare) is in the plugin file az-index-content.php. (the file is in wp-content/plugins/azindex in your WordPress installation). You are welcome to replace it with one that meets your needs. For example:

      function az_compare($in1, $in2) {
         $result = intval($in1['head']) - intval($in2['head']);
         return $result;
      }

      This function compares two integer values in the Heading fields (a custom field you define or the excerpt) and will sort the index into the natural order you’re looking for. If the only thing you’re sorting on is the reference codes, then add those codes to a custom field (or excerpt) and use that field as the heading for the index. You can still define sub-headings and descriptions and they will be displayed but they won’t be used in this simple sort. This should work for you, but you do have to remember that upgrading to a new level of the plugin will overwrite any changes you make and you will have to add it back, so it’s not ideal.
    3. I will add your request to the list, but at the moment I really have to figure out how to cache indexes so the plugin can be used safely with large indexes, and there are a few other issues I have to resolve.

      If you have any questions about anything I’ve said here, feel free to ask.

      Mike

  36. English Mike said,

    Lionel, since I wrote the comment above yesterday, I realized that there is a nice way to integrate what you want into the AZIndex plugin. Similar to my second suggestion of replacing the comparison function with one that you need, I see no reason why an “advanced” option (i.e. one requiring a little programming) could not be to specify your own compare function (i.e. a replacement for az_compare() in the plugin) that you add to, say, functions.php in your theme directory. That way anyone can quickly tailor the sort to their own satisfaction.

    Now, I haven’t played with that idea yet, so I’m not 100% sure that it’s as easy as that, but I will put it on the list of things to do, so when I finally get to version 1.0 (hopefully later this month) check back and see if you have what you need.

    Mike

  37. Nick said,

    I’ve noticed in WP 2.5.1 that the Shift This Thumbnail Size 1.0 plugin isn’t having any effect.

  38. Nick said,

    …oops submitted one comment to the wrong blog and another to a different one. Must have taken my stupid pills this morning.

  39. English Mike said,

    :-) No worries!

  40. Lionel Chollet said,

    Hello Mike,

    thanks for the replies, I’ll test your ideas tomorrow, er, today already, but later on!

    Best regards,
    -Lionel

  41. Danny said,

    Mike,

    Sweet plugin. There are many applications for this and it turns wp that much more into a flexible cms. Cheers.
    Just wanted to say great plugin. I would love to see caches and the ability to sort pages!

    Cheers
    danny

  42. Danny said,

    actually, id have a question. do you have any easy way to set alternate class’ on the li so you can zebra-stripe the lists?

    i guess you’d have to go into a-zcontent.php right now to do this?

  43. English Mike said,

    Hey Danny, glad you like the plugin. Thanks very much for the feedback. I do intend to add caching and page support (if that’s what you mean?) in the near future. I had a self-inflicted catastrophe with my new laptop last week which set me back somewhat, but should know in a couple of hours if they fixed it under warranty, so hopefully I will begin to update the plugin again soon.

    As for zebra-striping. That’s a very good idea. You are correct in that it’s not something you can add using the custom CSS. I honestly hadn’t considered the idea as something suitable for an index, but I’ll add it to the todo list and take a look. Curiously enough, I recently hacked WordPress to allow the same thing for sidebars — if you notice the sidebar on this blog is “striped” and it’s not hard-coded in the HTML — if I insert another widget into the sidebar, the alternating colors for the widgets still work. It was a bit of a hack, but I might write a post on how to do it at some point.

  44. Graeme said,

    Hi there, this is a fantastic plugin. It works superbly with just the default settings and title, but when I add any sort of category or tag I get the following error. Would love to try and work out why.

    Fatal error: Call to undefined function: htmlspecialchars_decode() in
    ……../wp-content/plugins/azindex/az-index-admin.php on line 899

  45. Graeme said,

    actually in relation to the error in the post above. The AZ Index plugin works beautifully with all the category or tag controls when running a development locahost wordpress site, I have the above problems when trying to implement on the live site. Therefore something must be blocked or not copying over maybe due to read / write permissions ??

  46. English Mike said,

    Hi Graeme,

    Thanks for your feedback. It looks as though htmlspecialchars_decode() is a PHP 5-only API (a fact I missed when I added it to the plugin). That means your live production site is probably still using a version of PHP 4.x and the plugin fails. From looking at the comments attached to the API in the PHP manual, it looks as though it might be possible to substitute the offending API for another function which would work.

    Now I have my laptop back from the repair shop, I’ll take a look at removing that dependency on PHP 5, but I should warn you that, as I said in the release notes, there might be others. Keep an eye open for a new beta release later this week.

    Mike

  47. English Mike said,

    By the way, depending on who you are using as your web host, you might be able to upgrade your server to PHP5 from the server’s control panel. That’s what I did on the server running this blog. Mind you, that would be a drastic step to take to fix this one problem you’re having, so you should be think carefully before you do it since other aspects of your server might break. However, if you’re just running WordPress 2.5.x and nothing else, then it should be reasonably safe to do it.

    Mike

  48. Graeme said,

    Hi Mike,

    Just to let you know, I’ve downloaded the latest beta release and this has resolved the problem. It’s perfect!! This is a brilliant plugin and thanks so much for taking the time to resolve the issue. This now enable me to index various posts into specific groupings or either category or tags.

    Great Job!

  49. English Mike said,

    Thanks for the feedback, Graeme, and I’m glad it’s working for you. Feel free to let me know if you run across any other problems. Thanks to your testing, it looks as though my plugin supports PHP4 as well as PHP5.

    Mike

  50. English Mike said,

    Danny, FYI, while the CSS isn’t obvious (those darned “floats” are a real pain!), I figured out a way to do striping of the index entries with a small modification to the plugin code. So look out for it as a new feature in the next version of the plugin.

    Mike

  51. MovieGalaxy.org said,

    Hello

    I really like this plugin and I was wondering if I could add it to the Sidebar (Widget) to show all my post in alphabetical order. If it’s possible, can you please guide me? It would be nice if you email me, I have included my email in the Comment Form.

    Thanks

  52. English Mike said,

    I just replied to the question about putting an index into the sidebar. It turns out that you can indeed do it, it just takes a little bit of theme tweaking to do it. I will add a post to my blog explaining how in the next day or two.

  53. MovieGalaxy.org said,

    Thanks very much, I have received your email and replied to it. I got it working thanks to you, It’s Perfect and it doesn’t seem to get the load high in my server(but it’s been optimized). Thanks.

  54. Crystal said,

    After installation, I get the following error message when trying to activate: Plugin could not be activated because it triggered a fatal error.

  55. English Mike said,

    Hi Crystal, I just went to your site and it looks as though you are using WordPress v2.2.2. If that is the site you’re trying to run the AZIndex plugin on, then I’m afraid that it won’t work. You need to be running WordPress v2.5 or v2.5.1. Are you testing it on truthhate.com?

    If you are running it on WordPress v2.5.x then I’m not sure I can help without more information. Do you know what versions of PHP and MySQL you are using? And if possible, could you try disabling the other plugins you are running to see if that helps (I know that might be difficult if you are using it with a live blog). Sorry to be so vague, but so far you’re the only one who’s reported this problem so without more info I’m a bit stuck.

    Mike

  56. Lionel Chollet said,

    Always count on me for weird requests: ;-)

    I’d like to *sort* by the heading — so far, nothing unusual — but to *display* the subheading first — ahem, er, yes…

    The heading is a custom field (a reference number), the subheading is the title.

    By the way, the numeric_compare function is working great; thanks a lot, Mike!

    Additionally, how do you customize the pagination links to make them look like, say, “Page Navigation” links? http://www.stuff.yellowswordfish.com/paged-navigation.

    As for caching, maybe such a plugin as Plugin Output Cache — http://wordpress.org/extend/plugins/plugin-output-cache/ — might help.

  57. English Mike said,

    Lionel — congratulations on being the first ever person to have a post held up in moderation on this blog :-) (I think it was the two links that did it — I’ll up the number so that it doesn’t happen again!)

    Now, as for your weirdness — I mean, weird requests:

    1) Why don’t you make the post titles the headings and the reference numbers the subheadings then modify your sort function to sort on the ’subhead’ field instead of the ‘head’? I think that should give you what you’re looking for. The only caveat is that the grouping option will probably not work, but I suspect that you do not use that.

    2) I’m not quite sure exactly what you want — the boxes around the individual links or the “Page 1 of 5″ bit. You can almost do the first one if you add a CSS style for “.azpagelinks a” but the problem is that there is no way to style page numbers and arrows that are not links. As for the second, well, it’s a nice idea, but I’m not sure if I want to add yet another option at this point (!), because I am sure that not everyone will want it.

    I have updated the page link code in the next version so that it will display “<<” and “>>” if you have more than a certain number of pages. (You will be able to modify that number by changing the value of AZ_MAXPAGELINKS in the az-index-admin.php file.) I will add a bit of HTML code to wrap all the items in the links (page and alpha) so that people can better modify the appearance to suit their needs.

    Thanks for the tip about caching — I already have caching finished, but there is always room for improvement. I currently cache the data from the index not the HTML of the index pages which has its advantages when it comes to rebuilding the cache quicky, but there is no reason why I couldn’t add another layer of caching by cache the HTML as well. I will bear it in mind as a later upgrade.

    So, apart from the “Page 1 of n” thing, I think you can do everything (or will be able to in v0.5) you’re asking for.

    Does that help?

    Mike

  58. dirk husemann said,

    just updated to 0.5.1, when deleting pages i’m now getting the following:

    Fatal error: Call to a member function acquire() on a non-object in /var/www/xyzzyxyzzy.net/wp-content/plugins/azindex/az-index-cache.php on line 446

    any clue?

  59. dirk husemann said,

    well…it happens with every change to a page :-((

  60. dirk husemann said,

    turns out that the global variable name “mutex” seems to be used by another plugin/part of wordpress. just renaming it to “az_mutex” solved the problem.

  61. kalcha said,

    Hello Mike,

    U r a genius man… Thanks for this great Plug-in. I have been searching for this kind of tool since long and am really thrilled that AZindex is extremely easy to work with.

    I have a Blog that deals with some Indian celebrities. I wanted to have an easy navigation to the huge number of celebrities pages in a list. Thanks to your plug-in, my problem is solved. Now I can have indexes of everything…

    I know it is too much of an ask, but I saw an interesting feature at the CELEBS page of http://popsugar.com (POPSUGAR) I liked it very much. They used the indexing of the celebs along with a thumbnail for every item (celeb). I use OPTIONS theme by http://justintadlock.com. It has a nice Thumbnail generation script… and I plan to use it extensively. I was just wondering, whether I could some how display a thumbnail for every celeb along with the title via custom fields or something else?

    This was just an over the top request… I know that… But as I am a complete novice in technical things, I just thought to ask you… Thanks for your time and effort on this plug-in.

  62. Lionel Chollet said,

    Hello Mike,

    your neat additions, technical responses, and dedication to your users certainly help! Thanks! Yet I have other questions ;-)

    How would I place a post image before the heading text?

    How would I place the tags and other custom field metadata after the subheading text?
    I tried to insert “php the_tags” in the plugin source code, but while inserting plain text strings worked OK, putting php code in there triggered an error.

    Actually, I want to order archives by the reference numbers of the products/works, not by date, as “ultimate recency” is not the most important point for this sort of catalogue (recent additions to the catalogue are featured/presented in news announcement on the home page anyway).

    I’d like to have the same presentation for the articles than that I set up for my unwanted-regular-WordPress-by-date archive, only ordered by reference number… Ahem.

    Perhaps, a “before/after” thingy could be implemented for the elements of your plugin, like the one in Scott Reilly’s c2c_get_custom — http://coffee2code.com/wp-plugins/get-custom-field-values/

    Also, is there an easy and monetary way to thank you for your work? I don’t see a Paypal button or anything on your site.

  63. English Mike said,

    Hi Dirk, thank you very much for the bug report (and solution!). I can’t believe I left off the “az_” prefix from a global variable after I’ve been so careful to use it everywhere else (even the CSS styles have “az” prefixes!!).

    Ah well, it gave me the excuse to add a couple of other fixes and update the code to version v0.5.2.

    Thanks again.

    Mike

  64. English Mike said,

    Hey Lionel. I only have time for a brief comment at the moment — and it might be the end of the week before I can get full answers to you since I don’t have the time at the moment to test anything out.

    1) Images — I managed to embed images (well image links) in excerpts, which I then used display as the Description field in the index. I know this is getting kind of kludgy, but you could try making the Heading your excerpt, the Title your subhead, and your cat. no. the description, sort on the ‘desc’ field (as discussed before) and then fiddle with the custom CSS to get it to come out the way you want it (if it’s even possible).

    2) Tag — yeah things like “the_tags()” wouldn’t work anyway since I don’t use a regular post loop (for performance reasons mostly). You would have to use something like “echo get_tags($postid)” for it to work (Note: I don’t think that’s the name of a real function). I think the question is — how do I include post metadata in the index? I don’t have an answer for you at the moment (other than “you can’t at the moment”).

    3) Before/after is an interesting idea. I will have to think about it.

    4) Now the paypal link is the best idea of the lot :-) Thanks for the prompting — I do have a paypal account, I just haven’t gotten around to setting up the link. Look for it again in few days.

    Sorry I can’t be more help just at the moment. Life is kind of getting in the way.

    Mike

  65. English Mike said,

    Oh, just one other thing, Lionel. If you haven’t done so already, take a look at the output source code for an index page with links on it and you will find the css styles I added for the links — I believe they are “azlink” for the page numbers and alphalinks — “azlinknav” for the navigation links, and “azdisabled” for the disabled page numbers/alphalinks/navlinks.

    I will add these to the User Guide when I finally get to the CSS section (which could be a while off yet!)

  66. kalcha said,

    Hello Mike,

    I am really sorry for my last comment containing some links. But I hope you understand that they were not at all related to me in anyway. Slightly sad that you deleted my comment… but extremely happy that you answered Lionel almost on the same topic. i will try your suggestion on Images and let you know the status… Have a nice evening…

  67. kalcha said,

    Hi Mike,

    I implemented the excerpt idea… and it worked like a charm. I used a plug-in to produce excerpt for pages and added a URL for the thumbnail. And used the title for the title and excerpt for the subheading. If I use thumbnail for the title, it is causing the alphabetical listing to go weird… But working fine with the thumbnail (excerpt) as subheading. The title and the thumbnail are showing in the same row. So, is there anyway to make the THUMBNAIL come directly below the TITLE? It would be nice if it does and in any case this thumbnail listing would greatly enhance the AZindex plug-in.

  68. English Mike said,

    Hey kalcha — sorry about your previous comment — for some reason it got held up in moderation, and since yours is only the second that happened to, I don’t think to look for them all the time. I’m a little busy at the moment, but if you will bear with me I should be able to take spend some time on your questions later this week (probably not before Friday).

    In the meantime, to move your thumbnail below the title, try turning on the “custom CSS” option and modifying the “.azindex .subhead” style by adding “clear:left; float:left;” (as in the grouped items CSS below it).

    e.g. change:

    .azindex .subhead {clear:left; float:left;}

    to

    .azindex .subhead {clear:left; float:left;}

    That should put it below the heading, and you can use padding-left to move it to the right a bit if you want.

    There are some other tricks I showed Lionel in the comments above about creating your own sort routine to sort on the ’subhead’ field if you want to put the photo first — but that involves creating your own sort function which may be a little tricky for you. I may get the chance to look at it in a few days.

    Mike

  69. kalcha said,

    Hi Mike,

    Thanks a lot for the suggestion. It worked perfectly. I think your plug-in deserves first place in any competition for its usefulness. And your tutorials are very tightly written. Kudos for your efforts… Will give some feedback in the future…

  70. paul said,

    just thought idd rop by and say what a great plugin was looking for soemthing like this for a while and just found it tonight was easily setup and had no problems kepp up it up

  71. Jeff said,

    I really like this plugin much better than wp-snap, but is it not possible in AZindex to ignore leading articles like “a, an, the”? That options exists in wp-snap but I prefer the way azindex handles other things, yet creating custom fields for titles without the leading articles is a pain. Still trying to decide whether to stick with wp-snap or move to azindex. Any way to ignore those letters w/o resorting to custom fields?

  72. English Mike said,

    Jeff, thanks for the feedback. I understand your reluctance to use custom fields, and option to ignore certain words at the front of a title is certainly something I will consider adding to the plugin. I’m not sure when I’ll be able to get around to it — the summer vacation is arriving fast — but I can certainly look at doing a stop-gap measure, perhaps allowing users to add their own filtering function which would allow users to modify titles any way they want before they are sorted. Try checking back here in a few days.

  73. English Mike said,

    kalcha, it turns out that there is a way to display images to the left of the titles. This is how I did it:

    1) Set the headings to “Title”.
    2) Set subheadings to “none”.
    3) Set description to “Excerpt”.
    4) Add your thumbnail links (using the usual HTML) to the excerpts of your post.
    5) Turn on the option “Use customized stylesheets for the index”
    6) Edit the “ungrouped” style sheet as follows:

    .azindex .head {float:right;text-align:left; width:75%}
    .azindex .subhead { }
    .azindex .desc { float:left;}

    You will have to play with the “width” style so that there is enough space for the thumbnail alongside the title. If the “width” is too large, the thumbnail will appear below the title, if it’s too small, there will be a big gap between the thumbnail and the title, but it should not take you long to find the correct value. Note: it would be best if your thumbnails were all the same size.

  74. English Mike said,

    Jeff — I just updated AZIndex to v0.5.3, with a new feature that will allow you to alter the headings in the index as you requested. I will probably provide a nicer way to remove words from the front of headings in a later version, once I have more time to do it properly, but using the new filter should work just as well for in the meantime. Take a look at the latest blog post to see what you need to do (and I even wrote the filter code for you!).

    Mike

  75. Jeff said,

    Thanks again. This is fantastic! Enjoy your vacation!

  76. Lionel Chollet said,

    Hello Mike,

    I put the Paypal button to use: it works!

    Now if I could just find a plugin to automatically sort posts by the criterium I want, without using extra CSS, and displaying all the metadata…

    Nevertheless, your plugin is fantastic, and your work and kindness deserved compensation!

    Cheers!

  77. English Mike said,

    Thanks, Lionel — that was very generous of you, as are your compliments. I have some ideas for making the plugin more flexible regarding the order in which the elements are displayed and those other things you are yearning for, but as I mentioned, it’s going to be another month or so before I can get to them. Of course, I’m beginning to wonder how much functionality I can squeeze into the plugin without making it too complicated for the, er, less demanding users to use :-). And there’s all that documentation left to write….

  78. Alex said,

    I love the concept, been looking for something like this for some time. However it doesn’t appear to work with the 2.6 release. I get the following error constantly when trying to add/update entries.

    Warning: unserialize() expects parameter 1 to be string, array given in /home/bookbarb/public_html/website/wp-content/plugins/azindex/az-index-cache.php on line 65

  79. Alex said,

    Ok so I downgraded and installed it on 2.5 - RC2. Installed perfectly and I can add entries. But when I try to preview them I get the following error - AZINDEX ERROR: Invalid az-index short-code found. A non-zero id parameter must be specified.
    Please notify blog/site administration of the problem.
    (Message from the AZIndex plugin)

    Any ideas?

  80. Duane said,

    Same here… seems a lot of plug-ins are having trouble with the unserialize() parameters under 2.6… seems to work fine except for that warning…

  81. Duane said,

    BTW…Truly Awesome PlugIn!!!

  82. English Mike said,

    Hey guys — I’ve just seen the comments — thanks for the feedback. I will take a look at the 2.6 issues today, though it could be a few hours before I have a fix — please bear with me.

    Cheers,

    Mike

  83. pinzaru said,

    I’m staying tuned for the fix… (I have 400+ post category)

  84. English Mike said,

    Ok - I just put up version 0.5.4 with a fix for the unserialize error under WP 2.6. I have very limited testing facilities where I am at the moment, so please, if you have any other problems with 0.5.4 running under WP 2.6 let me know today if you can. After that, it will be a couple of weeks before I can work on the plugin again.

  85. pinzaru said,

    Thank you. I just installed the “ultra” new plug in and… so far…so good… (i mean… no unserialize errors)

  86. English Mike said,

    Thanks for the confirmation, pinzaru!

  87. Alex said,

    Works brilliantly now.

  88. English Mike said,

    This is probably the last time I’ll be logging in for a couple of weeks. Feel free to continue posting questions and feedback (bug reports, etc) but I likely won’t be able to respond until the beginning of August. After that I hope to finish up the to-do list with AZIndex and the documentation. Until then, happy blogging!

  89. Henrik Sundholm said,

    I truly love this plugin! However, I have a suggestion to make.

    I would like a feature that allows me to set topics depending, not upon tags, but upon searchwords. Let’s say I’m running a movieblog, and that I’d like to make an index of all the posts featuring the name “Morgan Freeman”. At present, I would have to manually re-tag all older posts, right? How about just making the index use searchwords instead? Then all posts including the name “Morgan Freeman” would automatically show up in the index.

    I hope you see where I’m coming from. Otherwise, thank’s for a really great plugin!

  90. Henrik Sundholm said,

    Oh, and I have two more suggestions!

    1. The index doesn’t seem to support special characters. That is somewhat of a problem for a person like myself, who is Swedish, and makes use of “Å”, “Ä” and “Ö”.

    2. What if the front page could be made empty, and then you use the alphabetical list to navigate through specific indexes, so that you’ll only see one list at a time? For instance, you could click on the letter “F” and only browse through posts beginning with that letter. I think such navigation could be great for those who have really large indexes.

  91. Mike K said,

    what a great plugin. this is exactly what I was looking for to create an alphabetical index of my movie review posts for my home theater site. Nice job. Also really glad you provided an option to use custom style sheets for the index. that was very useful in my case.

    One feature request: can you provide an option (ideally a check box setting) to reverse sort? the way I have my podcasts title “Show #1, Show #2, etc) the ability to reverse sort would let me have the newest entry at the top of the list. I’m sure I could do this with a custom field, but figured I would ask, just in case this is possible.

  92. psnoonan said,

    When I first created the index, everything was great. But when I make a new post, it doesn’t show up in the index I created. Does this not auto-update?

  93. English Mike said,

    Thanks for all the suggestions, guys. I will be back in civilization in just over a week and will reply to your questions and suggestions then.

    psnoonan — have you checked to make sure that your new post has the right tags and/or categories? Otherwise I will try and help you when I get back to my own computer. (just on dial-up here at the moment).

  94. Richard said,

    I’m using alaknors post thumbs plugin that renders thumbnails for post images with this tag ?php the_thumb(); ?

    Where would I put this tag to show a thumbnail of each post in the index. I’m guessing it will be somewhere in az-index-content.php where you start to render the output.

    Thanks.

  95. Richard said,

    Maybe I should have posted an image to demonstrate what I’m after http://greenecozine.com/pics/archives.jpg This should be quite easy to do with this plugin. Maybe you have plans to do something like this. It would make a splendid archive upgrade!

  96. Richard said,

    Ok, just saw this comment http://englishmike.net/azindex-plugin/#comment-398 so thumbs seems to be a popular request.

  97. Richard said,

    Using the excerpt to show images is not really the way to go for sites that already use excerpts as text prefixes. It would be better if you could create a new field that allowed tags for image displays, or defaulted to nothing with no input. That way users could use whatever thumbnail tag was available for their installation. I can think of a few, Alaknor thumbs, get_the_image, get_image Viva thumbs. I’m sure there are others, but they usually provide a wp-tag to render thumbs in php.

  98. TazaTek said,

    Mike, You’re a busy man taking care of all these comments, and the plugin. I haven’t tried it yet, but will be here shortly.

    I am going to create a business directory out of this, and wanted to know if the following is possible:

    A user goes to a page, that has a listing of business categories (Plumbers, Electricians, Accounts, etc)

    Let’s say that they click on accountants, this would bring them to another listing that would be like:

    Accountant A
    Accountant B
    Accountant C

    Then they could drill into Accountant A, and see a page on them

    Is this possible with your plugin to create a business directory like this, or can you think of a way that could make this happen?

    It seems that your wonderful little plugin does 90% of what I need!!

    Thanks

    Matt

  99. Roy said,

    Let’s say I have 40 categories and there’s one that I don’t want in the list, it would be very convenient to have an EXclude option, rather than INclude. Is that easy to change, or can I put it in the ideas box for a coming version?

  100. Richard said,

    TazaTek, that sounds more like the job of Directory plugin here http://www.alectang.com/directory/ BTW it is 2.5 and 2.6 compatible. I use it myself without any problems.

  101. Jeff of RN Jobs said,

    Mike,

    This is one great plugin. I love it. I think, at least for the kind of content intensive sites that I create, this is a top 10 plugin.

    This is ideal for pulling together link bait (I hat the term) pages.

    This plugin is a huge time saver, an SEO gold mine for making keyword intensive pages.

    Thanks,

    Jeff

  102. English Mike said,

    Hey guys — thanks for all the comments over the past couple of weeks. I’ve been away on vacation (safari!!) but I am almost back home — just one more flight in a couple of hours…

    Once I have slept off the jet lag I will go through the comments and suggestions and post some replies. Hopefully I will get through them within a couple of days.

  103. Richard said,

    A further notion that you may need to consider is making an option for indexes rel=”nofollow”> or else there will be issues of duplicate content with Google etc. Wordpress already has problems with categories and tags regarding duplicate content. This plugin has an opportunity to close the loop on this one.

  104. Sue said,

    Hi Mike,

    I am using your AZIndex plugin on a page as an index to articles. These are child pages under the articles parent page, which shows the links with the use of your plugin. My problem is that all my pages are showing in the list not just the child pages. I’m not sure I fully understand how to use the features of the plugin. There may be an existing way to exclude certain pages and only include the child pages. Could you direct me in how to make it work if there is? If not could it be added?

    Love the plugin and it’s ease of use. Great for a novice blogger like myself.

  105. ciara said,

    I LOVE this plugin! Just what I was looking for. Thank you!

    I’m having one teensy problem, however.

    I’m trying to get rid of the list style type, which is set to “square” for the content area of the page throughout my theme. I’ve tried editing the CSS inside the AZindex, I’ve tried overriding it in the theme’s main CSS…nothing gets rid of it. So i have a square bullet before the sections and each item.

    Can you give me the magic wand to get rid of these easily, without having to remove the list style from the entire theme? Is this possible?

    Thank you!
    :)

  106. ciara said,

    With a little further investigation, I remembered about inheritance in CSS. The solution I came up with is simply removing the list-style-type: square. Couldn’t figure out any other way for it to “take.”

  107. Sean said,

    Hi i was wondering how to list all the numbers under one heading like instead of having each number under separate heading like 1 2 3 4 instead how could i list them under one heading like under #

  108. Ash said,

    Is there anyway i can drop in the A-Z Index (Links) into my template files?

    For example
    I’d like to display sitewide an A-Z menu in the sidebar.

  109. Henrik Sundholm said,

    Oh, and what about listing posts chronologically?

    Mike: You certainly have a lot of ideas to consider for the next - well awaited - uppdate ;)

  110. AZIndex — Wordpress Thingees said,

    [...] you try this plugin and like what you see, email to mike@englishmike.net or visit AZIndex Plugin Home Page to provide your [...]

  111. Dave said,

    It seems I can’t get children of a category to be included unless I specify every child-is that the case?

  112. English Mike said,

    Dave, yes that would be the case. I must admit that I hadn’t really considered the issue of child categories — and I know for sure that the query I use to fetch the items included in the index just looks for the specified categories and doesn’t include any children.

    I am still going through the backlog of questions and issues, but I will add this to the list. I think you’ve stumbled across something that I think should be fixed (otherwise having child categories doesn’t make much sense) and is probably not too difficult to fix. Please stay tuned, but for now, yes, you have to add all the child category names you want included.

  113. English Mike said,

    Is there anyway i can drop in the A-Z Index (Links) into my template files? For example: I’d like to display sitewide an A-Z menu in the sidebar.

    Hi Ash. Yes! It is possible to do what you want. I have just posted a new tutorial giving step-by-step instructions on how to add an index to your sidebar. Please give it a try and let me know how you get on.

  114. English Mike said,

    With a little further investigation, I remembered about inheritance in CSS. The solution I came up with is simply removing the list-style-type: square. Couldn’t figure out any other way for it to “take.”

    ciara, yes, bullets on lists are a pain when it comes to indexes. I had the same trouble with one of the themes I was using. The problem is that there are several ways to specify the bullets you want on a list, so if they start appearing in your index, you have to search through the theme to see which CSS definition is causing the problem and then figure out a way to remove it from your index without losing it from the rest of the theme. Added to that, some themes use the tag “!important” (which I initially thought was just a comment!) to override the usual CSS inheritance so anything you do in the index’s CSS is ignored.

    Anyway, I’m glad you figured out the problem. I will eventually have to bite the bullet and write some documentation on indexes and CSS, though I am not looking forward to it!

    EM

  115. English Mike said,

    Hi i was wondering how to list all the numbers under one heading like instead of having each number under separate heading like 1 2 3 4 instead how could i list them under one heading like under #

    Hmm, that’s an interesting one. I guess you could also do the same thing for items beginning with punctuation marks like ! and ?. What do others think?

  116. English Mike said,

    I have just put up a new post that shows how you can create chronological indexes (with some limitations) using the current AZIndex plugin, with step-by-step instructions.

    http://englishmike.net/2008/08/30/eureka-indexes-in-chronological-order/

  117. Cangia said,

    Can i visualized only the letter (A-B-C..-Z) and the latest 20 posts?
    With 1400 posts is too much to visualize :-)

  118. Leila said,

    Hi Mike! Thank you for creating such a wonderful script. I really like it because it is simple but it also seem to have several functions that can be easily customized to make it more personal (like the book reviews). However, for some reason, the index does not show up for me in my blog. Instead, the code doesn’t seem to be “read” as when I see the published page, all it says is: [az-index id="1"]
    Do you perhaps have any ideas as to why this happens? I am fairly new to wordpress I must admit but I’ve looked around and cannot figure out why :(

  119. Leila said,

    Hi again Mike. I just wanted to say that the problem has been fixed. It turned out to be the theme that I was using. I have no idea as to why but it worked well when I changed theme.

  120. English Mike said,

    Hey Leila — I’m glad you figured it out. It’s certainly difficult to track down all the problems with interactions between plugins and themes. Out of interest, could you tell me the name of the theme that was causing the problem? It might help diagnose other users’ problems in the future.

  121. English Mike said,

    Cangia,

    No, you can’t limit the contents of index in the ways you are asking. While I see what you are asking, I don’t really think that it’s very common way to do things with an indexing tool like AZIndex. Excluding items from the index based on the initial letter of the title seems to be a little random, and I really don’t see the merit of restricting an alphabetical index to the last 20 items.

    The correct way to restrict items from showing up in the index is to use categories and tags. I am looking at adding an “exclude categories/tags” feature at the moment, which may help you do what you want.

    You can restrict the number of items on a page to 20 items (just turn on the “Use Multiple Pages” option and set the item count per page to 20 (or 50 or whatever you think looks good). There are also plenty of other ways of displaying an index of the last 20 items posted on your blog — it’s quite a common thing to do — just search the WordPress forums and/or Google and you should find a page template that will do what you want.

    Good luck!

    EM

  122. Elfenwald said,

    Hi and BIG thanks for this plugin which seems to be the only viable solution to set up kind of an “encyclopedia” in WordPress…

    Just two questions/suggestions:

    - same as posted before: some kind of exclusion mechanisms would be cool. E.g. AND/OR/NOT operators for tags and categories.

    - is there any way to have sub-pages indexed? I indended to place all the dictionary articles as child-pages under the index page (makes it more easy to un-clutter the pages menu etc.). Tagged them, but they don’t show up in the index. Moved them up to the main level - works. Any idea what snippet of code must be modified so the plugin scans for tagged sub-pages as well?

    Thanks & cheers!
    Martin

  123. English Mike said,

    Hey Martin,

    The excluding tags/categories code is done, and will be in the next release of AZIndex very soon. I originally considered a more general AND, OR, NOT format but couldn’t get it to work at the time. I’ll add it to the list to take another look at some point, but I think once you have the exclude (NOT) option, the vast majority of queries people need are catered for.

    As for subpages — I just did a quick test and subpages worked for me. They are tagged with the same post_type (”page”) in the database as regular pages so the SQL query used by the plugin should work whether or not they have a parent page. I even specified a tag in the index used on the subpage and that worked too. So I am not sure why your subpages are not showing up.

    Depending on your level of technical knowledge — specifically if you know how to use phpMyAdmin on your blog’s database — there may be a couple of ways to help debug the problem you are having. If you go to line 284 (or thereabouts) in the plugin file az-index-cache.php, and uncomment the line:

    //az_println("fn:get_index_items : query = ".$query."
    rc =
    ".$posts);

    then you will see the full SQL query the plugin generates for your index. You can then copy the query (most of the text printed in yellow, but not all) and paste it into phpMyAdmin’s SQL query window (click on the little SQL icon below the phpMyAdmin title at the top-left of the main phpMyAdmin page to show it). Now, if you run that query, you should see that the results are the same whether or not your pages are subpages. If the subpages are not in the results list, then please check what those pages have in the “post_type” and “post_status” columns in the “wp_posts” table. If they don’t have “page” and “publish” then what do they have? If they do, then I really have no idea why they are not found by the query.

    The other usual think to try is to disable any plugins which might be interfering with the way AZIndex works. I have no idea what they could be, but then there are thousands of plugins you could have running! If you can, disable them all and see what happens.

    Let me know what you find.

    Mike

  124. Elfenwald said,

    Hey Mike!

    wow, you really invest time & effort in your plugs & support! thanks for that novel! ;-)

    As it happens often in life - I changed “something” - and now the display of subpages works… actually I did not do much, de-activated some other plugins, reactivated them one by one, re-arranged the pages with pageMash - and everything is fine. No idea. And sorry for the hassle.

    I can now even push around the pages at will with pageMash, hide them so they do not show up in the navigation, and they still get listed in the index….

    so: another happy user here, one step closer to getting rid of that boooooring old wiki layout on my site, and looking forward to the next version of AZindex!
    Cheers
    Martin

  125. English Mike said,

    Thanks Martin. Good to know you sorted the problem. Hope the new version helps with your indexing.

    EM

  126. English Mike said,

    If anyone is coming here to report SQL error on AZIndex 0.6 or 0.6.1, please try AZIndex 0.6.2 first. I just fixed a bug that is probably causing your problems.

    Thanks

    EM

  127. c0d3r said,

    Fantastic Plugin :D Loved it ! Real helpfull for creating archives page :)

  128. Paul said,

    Great plug-in. One minor request–the ability to remove “the” and “a” from the sort. We can remove quotes, but not words.

  129. English Mike said,

    Paul,

    You can do what you want — it just takes a little more work. If you’re comfortable with modifying your blog theme’s files then this post explains how to add a filter to modify the headings before they are sorted and displayed. It will do exactly what you need.

    I am looking into making a couple of minor changes to the plugin to allow users to create an “az_index_user.php” file inside the AZIndex plugin directory, so that you can add filter functions or your own sort comparison functions there instead so you don’t have to modify your theme code if you’re not comfortable doing that.

  130. English Mike said,

    Well, that didn’t work—adding a user file to the plugin directory actually is okay, but it gets wiped out when you upgrade AZIndex, so that’s no good.

    However, there is a nice solution — put the filter code in a new plugin! Just add the code to a file that will be recognized as a plugin by WordPress and you can add your own extensions to AZIndex without worrying about them being overwritten next time you upgrade AZIndex or your theme. Even nicer, if WordPress detects a problem with the code, it will disable the plugin, so if you make a mistake, it should not harm your blog’s operation. And finally, you can enable and disable the plugin whenever you like.

    I will be posting a new article (along with the new AZIndex User Extensions plugin (containing the filter code) shortly.

  131. Anonymous said,

    Can this be used to generate alphabetical indexes for a list of a blogs authors, with each letter having its own page?

    Here is the list I mean (just me at the moment, still tweaking theme), which could get pretty long: http://www.abletonartists.com/artists/

  132. MagOne said,

    Thanks for a nice plugin- Just what I needed.
    One question though? I´m wondering if it`s possible to make it support characters like æ ø å, which would be very usefull for us Scandinavians?

  133. Fiona said,

    This is absolute genius. Really, it’s exactly what I needed for review sites with multiple contributors. Thank you, thank you!

  134. Sherryness said,

    Hello,

    This is a great plug-in. I am trying to install it on a client’s WordPress site to index book titles. I’m doing this by setting a custom field for author in the index heading, because they don’t want a sub-heading or description - just the author’s name with a link back to the post.

    That part is working great except that sometimes they review more than one book per post. How can I have multiple “heading” fields so that they can enter two or three author’s name in the custom fields of just one post?

    I hope my question makes sense. Thank you for any help!

    -Sherry

  135. anthony said,

    this may be a silly question that i can figure out myself but i am not tons familiar with CSS and i don’t see a way to do it. i review root beers and the like on my site. i am trying to use this plug in to have a page of all of the reviews, with the brand as the heading and each soda made by that brand as the subhead, so there can be a few items under one brand, each a link to the review of it. i would like to have a list item type circle or square or whatever before each subhead entry. i can get them to display for the headings but no lower. i know the subhead items are not a list but i’d like to distinguish them somehow. even the zebra stripping would work. they just blend together too much now.
    thanks so much, great otherwise!

  136. LightBred said,

    Hello, I am trying to get rid of the large space between the top of the list and the rest of the content above the list, also remove the large space at the very bottom between the content the index list. How is this possible and where do I need to edit at?

    I also need to bring descriptions in even with the title of the post instead of the offset.

    Any help would be greatly appreciated, this plugin is a life saver!

    Thanks!

  137. Tutorial: Glossar mit Begriffserklärungen für WordPress auf datenschmutz.net said,

    [...] lasse ich automatisch einen A-Z Index samt Navigationsleiste erstellen - hier leistet das Plugin AZIndex hervorragende Dienste: es erstellt beliebig viele Indizes aufgrund frei wählbarer [...]

  138. Sami said,

    Hi English Mike,
    I’m still getting this error :

    AZINDEX ERROR: Invalid az-index short-code found. A non-zero id parameter must be specified.
    Please notify blog/site administration of the problem.
    (Message from the AZIndex plugin)

    Over my site : http://www.lamedecinedouce.com/remedes

    I’m using child categories and I checked the “include child categories”.

    What could be the problem ?

    Thanks,

  139. Danny said,

    Mike,

    Thanks for implementing the zebra stripe request. Its great to see the continued development on this super plugin. Your efforts are really appreciated. Cheers. Danny

  140. Barbara said,

    I’m having the same problem as Sami with the error message:

    AZINDEX ERROR: Invalid az-index short-code found. A non-zero id parameter must be specified.
    Please notify blog/site administration of the problem.
    (Message from the AZIndex plugin)

    You can see it at http://www.appcraver.com/app-index.

    Im using WP 2.6.2, MSQL 5 and PHP 4.9. Everything was working fine until the last update.

  141. Coupon shipping said,

    Hi Mike,

    Wonderful plugin! Exactly what I was looking for! Easy to manage too!

    Nice work!!!
    Thank you for sharing!

    Pascale

  142. GREG said,

    Phew - I thought it was just me getting the following

    AZINDEX ERROR: Invalid az-index short-code found. A non-zero id parameter must be specified.
    Please notify blog/site administration of the problem.
    (Message from the AZIndex plugin)

    Help please!

  143. GREG said,

    Ok , have worked out what the prob was.

    After you have created your index etc and then goto Manage Pages and select the page the index is in, the short code given e.g [az-index id="1"] is incorect. Just remove the 2 speech marks either side of the id number, save then all will be well with your new index page.

    Cheers

  144. E.Y. Karaduman said,