MENU

wp_get_shortlink()

wp_get_shortlink() は、投稿・固定ページの短縮リンクを取得するためのテンプレートタグです。

この関数は、短縮リンクを直接出力するのではなく、文字列として返します。そのため、リンクを加工したり、条件に応じて使用する際に便利です。

目次

機能の説明

wp_get_shortlink() は、短縮 URL を取得し、そのまま表示や加工ができるよう文字列として返します。

WordPress の短縮リンクはデフォルトで ?p=ID 形式の簡易 URL で、SNS やメッセージでリンクを共有するのに役立ちます。

使い所

  • 短い URL が必要な場面での利用
  • 短縮リンクをカスタム HTML で装飾したいとき

引数

  • $id(リンクを取得する投稿の ID)
  • $context(使用するコンテキスト: 投稿・ページ・ホームなど)
  • $allow_slugs(スラッグを含めた短縮リンクの使用を許可)

返り値

短縮リンクの URL 文字列

シンプルなコード例

<?php echo wp_get_shortlink(); ?>

現在の投稿またはページの短縮リンクを取得し、画面に出力します。

使い方の解説

wp_get_shortlink() は、投稿、固定ページ、またはフロントページの短縮リンクを取得します。引数を利用して、特定の投稿の短縮リンクを取得することも可能です。

基本構文

wp_get_shortlink( int $id = 0, string $context = 'post', bool $allow_slugs = true );
  • $id: 対象の投稿 ID(省略時は現在の投稿)
  • $context: リンクのコンテキスト(post, page, home など)
  • $allow_slugs: スラッグ付きの短縮リンクを使用するか

使用例

<?php 
$shortlink = wp_get_shortlink();
echo '<p>この記事の短縮リンク: <a href="' . $shortlink . '">' . $shortlink . '</a></p>';
?>

短縮リンクを取得して <p> タグ内に表示しています。リンクテキストをカスタマイズしても構いません。

<?php 
echo wp_get_shortlink(42, 'post', false); 
?>

投稿 ID が 42 の投稿に対して、スラッグなしの短縮リンクを取得します。

一緒に使うことが多い関連タグ

the_shortlink()

the_shortlink() は、短縮リンクを直接出力するテンプレートタグです。wp_get_shortlink() と違い、取得したリンクを変数に代入せず、そのまま HTML に出力する際に使います。

<?php the_shortlink('短縮リンクはこちら'); ?>

短縮リンクを「短縮リンクはこちら」というテキストで表示します。

get_permalink()

<?php 
$shortlink = wp_get_shortlink();
$permalink = get_permalink();
echo '<p>短縮リンク: <a href="' . $shortlink . '">' . $shortlink . '</a></p>';
echo '<p>パーマリンク: <a href="' . $permalink . '">' . $permalink . '</a></p>';
?>

短縮リンクとパーマリンクを同時に取得し、ユーザーにどちらのリンクも提供します。

追加情報を取得したい場合

wp_get_shortlink() で短縮リンクを取得するだけでなく、以下のテンプレートタグを組み合わせることで、URL に関する追加情報を取得できます。

get_permalink() でパーマリンクを取得

<?php echo get_permalink(); ?>

現在の投稿のフルパーマリンクを取得し、画面に出力します。

出力できる情報

  • URL:投稿やページのフルパーマリンク
  • Post ID:投稿 ID に対応するパーマリンク

想定されるトラブル

短縮リンクが取得できない

公開済みの投稿に対してのみ短縮リンクが生成されます。

解決方法


投稿が「公開済み」かどうか確認してください。

カスタム投稿タイプで短縮リンクが取得できない

カスタム投稿タイプに短縮リンクがサポートされていない可能性があります。

解決方法


add_post_type_support() 関数を使ってカスタム投稿タイプに短縮リンクのサポートを追加します。

add_post_type_support('custom_post_type', 'shortlinks');

Q&A

wp_get_shortlink() で取得したリンクを加工できますか?

はい。wp_get_shortlink() は文字列を返すため、取得したリンクにカスタム HTML を追加できます。

スラッグ付きの短縮リンクを無効にする方法は?

第三引数に false を指定することで、スラッグなしの短縮リンクを取得できます。

wp_get_shortlink(0, 'post', false);

カスタム投稿タイプの短縮リンクが使えない場合はどうしたらいいですか?

add_post_type_support() 関数でサポートを追加する必要があります。以下のコードを使用してください。

add_post_type_support('custom_post_type', 'shortlinks');

まとめ

wp_get_shortlink() は、短縮リンクを取得して文字列として返す便利なテンプレートタグです。

取得したリンクを HTML 内で自由に加工したり、条件に応じた表示を行うことができます。

the_shortlink() と組み合わせて使用することで、リンクの管理がさらに便利になります。また、カスタム投稿タイプで短縮リンクを使う場合は、必要に応じてサポートを追加する必要があります。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次