Wordpress中的内部链接

时间:2010-04-01 15:37:31

标签: wordpress

如果我有很多页面... page_ids 1-100 ...如何在编辑器中将两者联系起来?我想我可以使用<a href="/index.php?page_id=x">Link</a>,但这不是用户友好的...我想做<a href="<?= get_permalink(x); ?>">Link</a>之类的事情,但这也不起作用。有一个方便的插件吗?

4 个答案:

答案 0 :(得分:1)

使用shortcode

将以下内容添加到主题的functions.php:

if ( ! function_exists('toscho_id_to_link') )
{
    /**
     * Creates a link from the post id.
     *
     * Usage: [link id=42 title="The Meaning of Life?" class="pseudophilosphical"]Guess![/link]
     *
     * Inspired by Sergej Müller
     * @see    http://playground.ebiene.de/2388/wordpress-shortcode-links/
     * @param  array $atts id (numeric) and additional HTML attributes
     * @param  string $data
     * @return string
     */
    function toscho_id_to_link($atts, $data)
    {
        // incomplete
        if ( ! isset ( $atts['id'] ) or ! is_numeric($atts['id']) )
        {
            return $data;
        }

        // test
        $url = get_permalink($atts['id']);

        // No entry with this ID.
        if ( ! $url )
        {
            return $data;
        }

        unset ( $atts['id'] );

        $attributes = '';

        // more attributes?
        if ( ! empty ($atts) )
        {
            foreach ($atts as $key => $value )
            {
                $attributes .= " $key='$value'";
            }
        }

        return "<a href='$url'$attributes>$data</a>";
    }
    add_shortcode('link', 'toscho_id_to_link');
}

您可能会发现此插件有用:Simply show IDs

答案 1 :(得分:1)

我们使用RB-Internal-Links。它允许您使用短代码和slug进行链接,甚至可以使用WYSIWYG接口。

答案 2 :(得分:0)

您可以使用插件在帖子或页面中插入PHP。也许使用其中一个可以让你使用你的第二个建议。

答案 3 :(得分:0)

您应该真正使用WordPress中所有链接的完整和完整网址。例如http://example.com/index.php?page_id=123

使用部分链接会在Feed,类别档案等中导致奇怪的行为。