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()
は、短縮リンクを取得して文字列として返す便利なテンプレートタグです。
取得したリンクを HTML 内で自由に加工したり、条件に応じた表示を行うことができます。
the_shortlink()
と組み合わせて使用することで、リンクの管理がさらに便利になります。また、カスタム投稿タイプで短縮リンクを使う場合は、必要に応じてサポートを追加する必要があります。
コメント