Insert cross-references between posts and pages easily and get a list of backward references on each post and page automatically.
With this plugin you can manually set a reference to another post or page in posts und pages and you get all backward references automatically listed for every post and page.
Note May 1st, 2009: The development of this plugin is being discontinued, because I personally do not use WordPress any more. There will be no new release of it from me. It is now still compatible with the latest WordPress version, but soon or later it will be no more. You are welcome to download the source code from the Subversion repository and develop it further.
Just place [cref post] at your post or page content to get both a forward and a backward link between these. The plugin shows automatically a list of related entries at the end of each post and page.
To start using the plugin is easy: With the import tool you can convert all your internal html links
<a href="...">...</a> to cross-references. The plugin is safe: You can change the post slugs at any time, the plugin will change all references for you. And if you once do not want to use the plugin any more, you can completely deinstall it leaving your blog with simple html links again.
When writing a post or page, you can refer to other posts or pages by their slug or numerical ID. At the Settings/Cross-References page on your admin panel you can switch between referencing by ID and by slug (even if you already set references, these will be automatically updated).
[cref post] sets a reference from the current post to post. Example: "As I said on my first post [cref hello-world], I won't write about my job." The current entry is shown at the blog as "As I said on my first post Hello World!, I won't write about my job.", with a html link from "Hello World!" to the "Hello World!" post. At the "Hello World!" post the current post appears under "Related Posts".
[cref post alternate text] same as [cref post] but the link has another text instead of the post title. Example: "As I said on my [cref hello-world first post], I won't write about my job." This is shown as "As I said on my first post, I won't write about my job.", with a html link from "first post" to the "Hello World!" post.
[cref.from post] sets a backward reference from post to the current post. Example: "[cref.from my-vision]" A forward reference is not shown at all, and both the current and the post post appear at each others related posts list.
You get automatically a list of all the posts and pages that link to the current post or page at the end of each entry.
For a greater control on the appearence and position of this list you can optionally customize your templates:
<?php the_crossreferences() ?>wherever you want to place the related posts list.
the_crossreferences( $before, $between, $after, $id, $emptylist )
It shows the related posts list for post $id, or for the current post if $id is not given or is 0.
You can apply CSS styles to the related posts list, because it is enclosed within a DIV (class="crossreferences").
For theme/plugin developers: You can also control the sort order and the appearence of the related posts list with filters.
For more information and examples about function parameters, styles and filters see the page "Other Notes".
This plugin adds a page at the admin panel under Settings / Cross-References where you can set the plugin options and run some tools:
<a href="...">...</a>that refer to other posts or pages in your blog converting them to [cref...] references.
the_crossreferences()in your templates.
This plugin works for any blog language, because you can customize its wording, and it works fine with multilanguage plugins such as qTranslate. Please let me know if you have any localization issues.
The plugin settings page is right now in this languages: