WordPress.org

Ready to get started?Download WordPress

Plugin Directory

Related Links

Manually link to existing content or a custom url through a meta box on the writing page.

How do I show the links in my theme?

Use the Related Links widget to show a list of the related links.

How do I show the links in a specific template?

Use the related_links() function directly in your template files. This will return an unordered list with an <ul> wrapper. Use this code for example in your `content.php' template:

<?php related_links(); ?>

How can I modify the output of the link list?

You need to use the get_related_links() function. A simple example that shows a list with all link names and the type of link:

<?php $related_links = get_related_links(); ?>
<ul>
    <?php foreach ($related_links as $link): ?>
        <li><a href="<?php echo $link['url']; ?>"><?php echo $link['type']; ?>: <?php echo $link['title']; ?></a></li>
    <?php endforeach; ?>
</ul>

What are the properties returned by the `get_related_links()` function?

The get_related_links() returns an array containing every related link. when you loop through this array every link consists of another array with the following keys:

  • key id: equals to $post->ID or null for custom links
  • key url: equals to get_permalink() or the manually entered url of a custom link
  • key title: equals to $post->post_title or the manually entered title of a custom link
  • key type: the $post->post_type or null for custom links

How do I only show the links for a certain post_type in my theme?

Set the $post_type in get_related_links($post_type) to 'post', 'page' or any custom post-type. A simple example that show a list of links:

<?php $related_links = get_related_links('page'); ?>
<ul>
    <?php foreach ($related_links as $link): ?>
        <li><a href="<?php echo $link['url']; ?>"><?php echo $link['type']; ?>: <?php echo $link['title']; ?></a></li>
    <?php endforeach; ?>
</ul>

How do I show the related links of another post (not the current one)?

Set the $post_id in get_related_links(null, $post_id) to the id of the post. A simple example that show a list of links:

<?php $related_links = get_related_links(null, 1); ?>
<ul>
    <?php foreach ($related_links as $link): ?>
        <li><a href="<?php echo $link['url']; ?>"><?php echo $link['type']; ?>: <?php echo $link['title']; ?></a></li>
    <?php endforeach; ?>
</ul>

How do I link directly to a media file?

You need to check the 'type' and then get with wp_get_attachment_url() the attachment url from the 'id'.

<?php $related_links = get_related_links(null, 1); ?>
<ul>
<?php foreach ($related_links as $link): ?>
    <?php if ($link['type'] == 'attachment') :
        $url = wp_get_attachment_url($link['id']);
    else :
        $url = $link['url'];
    endif; ?>
    <li><a href="<?php echo $url; ?>"><?php echo $link['title']; ?></a></li>
<?php endforeach; ?>
</ul>

How do show the type of a media file?

You need to check the 'type' and then get with wp_get_attachment_url() the attachment url from the 'id'.

<?php $related_links = get_related_links(null, 1); ?>
<ul>
<?php foreach ($related_links as $link): ?>
    <?php 
    if ($link['type'] == 'attachment') :
        $url = wp_get_attachment_url($link['id']);
        $mime = explode('/', get_post_mime_type($link['id']));
        $mime = $mime[sizeof($mime) - 1];           
    else :
        $url = $link['url'];
        $mime = null;
    endif; 
    ?>
    <li><a href="<?php echo $url; ?>"><?php echo $link['title']; ?><?php echo isset($mime) ? ' (' . $mime . ')' : ''; ?></a></li>
<?php endforeach; ?>
</ul>

How to prevent a PHP error when the plugin is not activated?

Put the get_related_links() function or your whole code into an if clause. Like this your theme will still work even if the plugin is deactivated.

<?php if(function_exists('get_related_links')) : ?>
    <?php $related_links = get_related_links(); ?>
    <ul>
        <?php foreach ($related_links as $link): ?>
            <li><a href="<?php echo $link['url']; ?>"><?php echo $link['type']; ?>: <?php echo $link['title']; ?></a></li>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>

Requires: 3.0 or higher
Compatible up to: 3.4.2
Last Updated: 2012-9-12
Downloads: 13,018

Ratings

4 stars
4.2 out of 5 stars

Support

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,1,1
67,3,2
100,1,1 100,1,1
0,1,0
100,1,1
100,1,1
100,1,1