Related Links

توسط

Related Links gives you the possibility to manually link other posts to your current post. But you can also link pages, media or any custom post-type. And in addition you can use custom urls to link to external files. The plugin adds a Metabox to the writing page with a list of all available content.

Features:

  • Shows a list of all available content in a Metabox on the writing page
  • Multiple links can be selected
  • Link order can be changed through drag and drop
  • Custom URLs can be added
  • Search field to quickly find a link
  • Simple theme integration with an included widget or related_links()
  • Works with custom post-types
  • Settings to enable the post-types that should be shown in the Metabox
  1. Upload the related-links folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Set in the link types in Related Links under the Settings menu in WordPress.
  4. Place <?php related_links(); ?> in your templates.

سوالات متداول

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; ?>

×
نظری برای این آیتم موجود نیست.
0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
هیچ نسخه‌ای برای این آیتم موجود نیست.
★★★★★
★★★★★
4.3 /5 (6 نظر)

قیمت:

رایگان

نگارش

آخرین انتشار

21 اردیبهشت 1405

آخرین بروزرسانی

3 ماه پیش

نصب های فعال

200+

نگارش وردپرس

وردپرس 3.0+

تست شده از نسخه

وردپرس 3.4.2

نگارش PHP

-

نسخه ها

0 نسخه