Display Index Filter
[WARNING: The HTML generated by AZIndex will be changed considerably in an upcoming release. Any display index filters written before then will almost certainly have to be rewritten to work with the new HTML.]
The display index filter is called just before any page of an index is displayed, and contains the final HTML for formatted index page to be set to the browser. Using this filter allows you to modify the content of the HTML so that you can effect changes in the way the index page is displayed.
To add a filter for all indexes in your blog use the following code:
add_filter('azindex_display_index', 'my_display_index_filter');
Then add the display index filter function with the name you specified:
function my_display_index_filter($output) {
/* My HTML modifying code here */
return $output;
}
The $output parameter contains all the HTML for the index page being displayed. This includes the HTML for the alphabetical links and the page links, if they are present, even though there are separate filters for modifying those parts of the index page. This ensures that all of the index page, including the enclosing <div></div> tags are passed to the filter.
More Display Index Filter Parameters
If you want to know which index is being displayed, or if you need to do more than just tweak the index page’s HTML, your filter function can be configured to receive all the available information about the contents of the index page. This is useful if you want to build your own HTML for the page, or if you want to search for specific items to change.
To obtain this extra data, you need specify that you want your filter to receive all the available parameters, which is 5:
add_filter('azindex_display_index', 'my_display_index_filter', 10, 5);
Note: the third parameter in the add_filter() call (10) is the default filter priority, and must be present so you can specify the number of parameters you want to be passed to your filter.
Now you can modify the filter function to handle the additional parameters:
function my_item_filter($output, $idindex, $items, $start, $count) {
/* My HTML modifying code here */
return $output;
}
The parameters are as follows:
| $output | The complete HTML for the whole page (including the enclosing div, links, and stylesheet, if present |
| $idindex | The id of the index being display (may be a string or numeric) |
| $items | An array of items containing the details of every item displayed on the current page. Each item is an associative array. The keys for the item array are listed in the table below.
Modifying these values will not change the output of the plugin, but you can use the information in the array to build you own version of the index page. Note: the first item and last items in this array may not actually be displayed on the page. If the index has multiple pages, they are included to allow text like (continued) and (more) to be added where a section spills over more than one page. Use the following two parameters to determine which items in the array belong on the page. |
| $start | The index in the $items array of the first item displayed on the current index page. |
| $count | The number of items displayed on the current index page. |
Here is a list of the keys for each of the items in the $items array:
| id | Post id – the id of the post linked to by this item. | |||
| initial | The initial character in the heading of the item. Useful when the index is divided up into alphabetical sections. | |||
| head | The item’s heading string, as it will be displayed in the index | |||
| subhead | The item’s subheading string, as it will be displayed in the index | |||
| desc | The item’s description string, as it will be displayed in the index | |||
| sort-head | The item’s sorted heading string – used only when sorting the index | |||
| sort-subhead | The item’s sorted subheading string – used only when sorting the index | |||
| sort-desc | The item’s sorted description string – used only when sorting the index | |||
| key | Category/tag id of the item – only if category/tag is selected as the heading for the index. | |||
Other Notes about the Display Index Filter
There are some other things to be aware of when you are using the display index filter:
- The content of the HTML passed to this filter will vary depending on the options and settings selected for the index. So, if you write your filtering code to handle just one specific set of options, make sure you always use the settings values your filter can handle.
- If you are also modifying the alphabetical links and/or page links with the other filters, you will have to find a way to identify and extract that HTML from the full index page passed into this filter if you want to rebuild the page output from scratch. You can use the PHP DOM function library to help you do that.
- The index’s CSS stylesheet may or may not be present in the HTML, depending on the settings for the index.
- The filter will not be called if the index is empty.
renderers said:
I was suggested this blog through my cousin. I am not positive whether this submit is written by means of him as nobody else recognize such special about my problem. You’re amazing! Thank you!
Marriage Certificates said:
I was just searching for this information for a while. After six hours of continuous Googleing, at last I got it in your web site. I wonder what’s the lack of Google strategy that don’t rank this kind of informative websites in top of the list. Generally the top websites are full of garbage.
Alec Nicolet said:
Haha, I’m only buying it because it won’t get boring super-fast.
Dan Rollins said:
I have been using the AZIndex for a while to do an alphabetical post listing and it has been great! Now I want to do a chronological index listing with the same look. Is there a way to do a sort by Published date so that it looks the same way?
Here is my current alpha page index: http://strongdisciple.com/alphabetical-listing
Thanks again for this great plugin!
Dan
Filters Toronto said:
Youre so cool! I dont suppose Ive read anything like this before. So good to seek out any person with some unique thoughts on this subject. realy thank you for beginning this up. this website is something that is needed on the internet, someone with a bit originality. helpful job for bringing something new to the web!
trane filters said:
I’ve learn several just right stuff here. Definitely value bookmarking for revisiting. I wonder how a lot effort you place to create this sort of great informative website.
Five seasons filters said:
naturally like your web site but you have to test the spelling on quite a few of your posts. Several of them are rife with spelling issues and I to find it very bothersome to tell the truth on the other hand I’ll definitely come back again.
ecu repair said:
excellent points altogether, you just received a emblem new reader. What could you recommend in regards to your post that you simply made some days in the past? Any certain?
color said:
Youre so cool! I dont suppose Ive read anything like this before. So nice to seek out somebody with some authentic ideas on this subject. realy thanks for beginning this up. this website is one thing that is needed on the web, someone with slightly originality. helpful job for bringing something new to the web!
Jeff said:
Hi Mike…
Big fan of the plugin. We use it everywhere.
Not sure where to make suggestions so I thought I would try here.
We have a directory and it would be really useful for us to be able to use the category as a sub head.
This way we could have a page that show all categories grouped by a custom field.
Would love to know if this will make the list.
Jeff
Auto Injury Clinic Atlanta said:
There is clearly a bunch to realize about this. I think you made some good points in features also.
Atlanta IME Disability DOT said:
This website online is mostly a walk-via for all of the information you wished about this and didn’t know who to ask. Glimpse here, and also you’ll positively discover it.
Stone Mountain Chiropractor said:
Wonderful paintings! This is the type of info that are supposed to be shared around the web. Disgrace on the seek engines for no longer positioning this post higher! Come on over and seek advice from my site . Thank you =)
Electric Visual Goggles said:
I found your weblog site on google and verify a couple of of your early posts. Continue to keep up the superb operate. I just additional up your RSS feed to my MSN Information Reader. Seeking forward to reading extra from you afterward!…
Hipolito Mccurren said:
Well I definitely liked reading it. This subject provided by you is very helpful for accurate planning.
peter said:
using AZIndex 0.8.1 on wordpress 2.7 that was installed a few years ago by original site developer. The website is for non-profit organization, run by volunteers.
I have no knowledge/experience with this plugin and has been working up till today, when noticed site had issue.
AZIndex Plug Error 101 – required database table wp_bfafaz_indexes – donot exist
deactivate then reactivate AZIndex to correct this problem
I deactivated then reactivated plugin- got same Error
Suggestions on how this issue can be resolved would be much appreciated.
Electronic kits said:
I think other web site proprietors should take this web site as an model, very clean and magnificent user friendly style and design, as well as the content. You’re an expert in this topic!
Michael Grant said:
This plugin does in fact seem to work on wordpress 3.x.
It would be fantastic if this plugin could be updated to be able to use custom types and taxonomies. I can see by playing with the code that it wouldn’t be too difficult.
Is there any active development being done on this? Can I make some code contributions?
wellington boot racks said:
I precisely needed to thank you very much yet again. I do not know the things I would have made to happen without those solutions contributed by you directly on that concern. It became an absolute challenging circumstance in my position, nevertheless being able to view the specialized way you treated the issue made me to leap over happiness. Extremely happy for the assistance and even expect you are aware of an amazing job you are getting into training other individuals with the aid of your web page. Probably you’ve never encountered all of us.
vityas said:
I appreciate, result in I discovered just what I used to be having a look for. You have ended my 4 day lengthy hunt! God Bless you man. Have a great day. Bye