Indizar

A plugin to index posts and pages using chapters.

Author:Juan Sebastián Echeverry (profile at wordpress.org)
WordPress version required:2.4
WordPress version tested:3.4.1
Plugin version:0.8.1
Added to WordPress repository:23-02-2009
Last updated:16-06-2012
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:100
Rated by:1
Plugin URI:http://www.sebaxtian.com/acerca-de/indizar
Total downloads:4 157
Active installs:30+
plugin download
Click to start download

The nextpage tag in WordPress gives a simple indexing system, but sometimes we need a better solution. Indizar creates chapters with titles and gives a function to retrieve those names. Also it has a tool to put an index whereas the user wants in the post, or a tag to define a default configuration for the boxes.

To add a chapter use [chapter:Title] at the beginning of the chapter. The title would be write as a header, and you can define the apparance with a CSS file (see the FAQ). Notice that the first chapter in the list would have the name of the post, and wouldn't be shown at the beggining of the content. The first occurrence of the tag [chapter: ****] would be the second item in the chapters list.

If you need another name for the first chapter you can use [firstchapter:Title] to create a header. It doesn't have to be at the beginning of the page. With this you can have an introduction and the first chapter in the same page.

To allow Indizar to use the ´headers´ as chapter marks, you have to define it in your wp-config file. Read the topic about how to modify Indizar configuration at the end of this README.

To add the index use [chapters:size,left|right] where size is the width of the context box, left | right is the float position for the box. Those values are optional and you can use just [chapters]. The index box is hidden in the index and search pages, it will be shown in each 'single page'. Use the configuration tag instead this if you want to show a box in every page at the same place.

To add a global configuration use [indizar:#conf,#box_size,[left|right|none],{preface_title}], where the #conf is:

  • 0 - to not show a numbered list
  • 1 - to show it at the begin of the post
  • 2 - to show it at the end
  • 3 - to show it both sides

The size box and the float position declares the general behavior. If the float value is ´right´ or ´left´ the plugin creates a box after every chapter title in the post, if it is ´none´ the plugin will let you define the chapters box manually with the tag [chapters]. If there is a [chapters] tag in a page the plugin will use this position instead the one declared in the ´configuration´ tag. The ´preface_title´ is optional and if declared the first chapter would be numbered as 0 and the text you use will be the title in the numbered list.

Why use a preface? Maybe the first chapter of your post is really the second page, and when you look at the URL the fisrt chapter is named ´post/chapter/2´. This sets correctly the url to show your first chapter as ´post/chapter/1´.

To not display a chapter list in a page when you have a configuration set, use the tag [chapters:none].

There is a button in the RichText Editor to add chapters, chapters box and the configuration tag to your post.

If you want Indizar to have a default configuration you can declare it in the wp-config file. This is my personal configuration, modify it as you require.

  • define("INDIZAR_TOP", false);
  • define("INDIZAR_BOTTOM", true);
  • define("INDIZAR_BOX", true);
  • define("INDIZAR_BOX_SIZE", 200);
  • define("INDIZAR_BOX_FLOAT", "right");
  • define("INDIZAR_USE_PREFACE", false);
  • define("INDIZAR_PREFACE_TITLE", "Prefacio");
  • define("INDIZAR_USE_HEADERS", "h1");
  • define("INDIZAR_DIV", ".entry-content");
  • define("INDIZAR_TOPDIV", "#box");

The INDIZAR_DIV and INDIZAR_TOPDIV are required only if you want to enable the AJAX feature. The first one requires the class or the id of the div containing the text you want to change. The second one requires the class or the id of the tag where you want to scroll when using the links at the end of each chapter. In the example, indizar would change the content inside the class 'entry-content' and will scroll to the id 'box'. These are the data for my theme, but it would be different in yours.

To get the list of chapters in your theme, use the function ind_chapters_list(). This function returns the array with the chapters, or false if there are no chapters. It has to be used after the function the_post(). Or, to get the html, use $list = ind_chapters_list(); echo ind_index_list($list);

Indizar has been translated to rusian by Дн, polish by Bartosz Kowa and french by the InMotion Hosting Team. Thanks for your time guys!

Screenshots are in spanish because it's my native language. As you should know yet I spe'k english, and the plugin use it by default.