📜  wordpress 获取简短的永久链接 - PHP (1)

📅  最后修改于: 2023-12-03 15:21:14.212000             🧑  作者: Mango

WordPress 获取简短的永久链接 - PHP

在 WordPress 中,我们可以使用 get_permalink() 函数获取某篇文章或某个页面的永久链接。但是默认情况下,获取的永久链接可能会比较长,特别是在文章标题比较长的情况下。但有时候我们需要获取简短的永久链接,方便分享和使用。本文将介绍如何使用 PHP 代码获取简短的永久链接。

使用 wp_get_shortlink() 函数获取简短的永久链接

WordPress 提供了 wp_get_shortlink() 函数来获取简短的永久链接。该函数的语法如下:

function wp_get_shortlink ( $id = 0, $context = 'post', $allow_slugs = true ) : string|false;

其中,参数说明如下:

  • $id:文章或页面的 ID,默认为 0 表示当前文章或页面
  • $context:上下文,可以为 post(文章)、page(页面)、attachment(附件)等,默认为 post
  • $allow_slugs:是否允许使用短链接标识符(slug),默认为 true

该函数返回简短的永久链接,如果出错则返回 false。注意,该函数需要启用 WordPress 中的短链接功能(<link rel="shortlink"> 标签),如果没有启用,则返回默认的永久链接。

下面是一个示例,获取当前文章的简短永久链接:

<?php
$shortlink = wp_get_shortlink();
echo $shortlink;
?>
使用 wp_get_shortlink() 函数生成短链接

如果需要生成短链接并不想使用第三方服务,可以使用 wp_get_shortlink() 函数自动生成短链接。生成短链接的方法是使用 URL 短代码(shortcode)的形式,例如 http://example.com/?p=123 可以生成 http://example.com/p/abc123 这样的短链接。

以下是使用 wp_get_shortlink() 函数生成短链接的示例代码:

<?php
// 首先需要在 functions.php 中添加以下代码,启用短链接功能
add_action('wp_head', 'add_shortlink_tag');
function add_shortlink_tag() {
    if ( is_singular() ) {
        global $post;
        $shortlink = wp_get_shortlink($post->ID, 'post', false);
        if ( !empty($shortlink) ) {
            echo "<link rel='shortlink' href='$shortlink' />\n";
        }
    }
}

// 然后在页面或文章中使用以下短代码
echo do_shortcode('[shortlink]');
?>

在上面的示例代码中,我们首先在 functions.php 文件中添加了一个函数,将短链接输出到网页头部。接着在文章或页面中添加一个短代码 [shortlink],可以自动输出生成的短链接。

总结

通过本文的介绍,我们可以使用 wp_get_shortlink() 函数获取简短的永久链接,在需要分享或使用简短链接的场合非常实用。如果需要生成自定义的短链接,也可以使用 wp_get_shortlink() 函数结合 URL 短代码实现。