WordPress: 抜粋時は内容を出力しない single ショートコード

2010年6月21日 月曜日00:00 | カテゴリー: WordPress

概要

現在表示されているページが個別記事の場合のみ、タグで囲まれた内容を出力するショートコード。次のような内容を抜粋に出力したくない場合に使用する。

相対パスのリンク
抜粋のページからは相対パスを解決できない。たとえば相対パスのページ内リンクは、リンク先が抜粋には存在しない。
投稿の要約には含まれない情報
投稿を要約した場合に省略される目次や注釈などの記述。

使い方

抜粋には出力しない内容を [single] タグで囲む。

[single] ... [/single]
[single]
...
[/single]

抜粋の表示箇所

  • フロントページ (最新の投稿)
  • アーカイブページ、カテゴリーページ、タグページ
  • ブログの検索結果ページ
  • RSS/Atom フィードの投稿

ショートコードの定義

テーマディレクトリ内のテーマ関数ファイル (functions.php) に以下のハンドラ関数を記述する。

// single shortcode : output content if single page (not excerpt)
function single_shortcode($atts, $content = null) {
    return is_single() ? $content : '';
}
add_shortcode("single", "single_shortcode");

※ デフォルトテーマの場合は wp-content\themes\default\functions.php がテーマ関数ファイル。

使用例

Tips: Windows の「システムの復元」を有効にする (個別記事) 冒頭の以下の記述が 2010年5月19日 のアーカイブ (抜粋) では省略されている。

  • 『「システムの復元」は Windows Me, XP, Vista, 7 に搭載されています。』の一文
  • 各 Windows へのページ内リンクのリスト (目次)

TODO

  • (需要があるようなら) プラグイン化

関連リンク

タグ:

コメントをどうぞ