Passing Quotation Marks via wp_link_pages
According to the WordPress Codex1, it is possible to pass quotation marks via the parameters of the function, wp_link_pages()
. This would enable users to assign a particular css class
or id
to the function output, thereby providing greater design and behavioral control over that particular object. But alas, as reported several times in the WordPress Codex2, wp_link_pages()
is unable to pass quotes without causing errors.
The fix
To fix this, we open template-functions-post.php
and find wp_link_pages()
, which is located around line #121 (for WP 2.0.2). The fix is easy, simply edit the <p>
in the following lines:
$r['before'] = '<p>' . __('Pages:');
$r['after'] = '</p>';
For example, if you wanted to wrap the function output with a <div class="foo">
and subsequent </div>
:
$r['before'] = '<div class="foo">' . __('Pages:');
$r['after'] = '</div>';
Upload and done. Do not forget to eliminate the before=
and after=
parameters when calling the function from the loop3.
Footnotes
- 1 WordPress Codex: About wp_link_pages
- 2 WP Support Ticket: wp_link_pages: problem with arguments
- 3 WordPress Codex: The Loop
3 responses to “Passing Quotation Marks via wp_link_pages”
This works great but isn't always necessary. Often, some creative CSS works just as well..
Rather than editing the core code I’d recommend you do the following:-
global $multipage;
if ($multipage) {
echo ""; wp_link_pages("before=&after=&pagelink=%");
echo "";
}
This allows you to style the thing up as much as you need and come upgrade time you don’t need to do anything special.
Very keen, James!
That should definitely come in handy next time around the redesign loop (so to speak)..
Thanks for sharing!