WordPress: 抜粋時は内容を出力しない single ショートコード (PHP スクリプト)
※ single ショートコードはプラグイン化され、single ショートコードプラグインとなりました。以下の記述は参考までに残しておきます。
概要
タグで指定した箇所をエントリの抜粋表示から省くことができるショートコード。タグで囲まれた内容は、エントリが個別表示されている場合のみ出力される。次のような項目をエントリの抜粋から省きたい場合に役立つ。
- 投稿の要約には適さない目次や注釈などの記述
- 抜粋時にリンク切れとなる相対パスのリンク
使い方
抜粋には出力したくない内容を [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-contentthemesdefaultfunctions.php がテーマ関数ファイル。
使用例
Tips: Windows の「システムの復元」を有効にする (個別表示) の冒頭には次のような記述がある。
「システムの復元」は Windows Me, XP, Vista, 7 に搭載されています。
この記述が 2010年5月19日 のアーカイブ (抜粋表示) では省略されている (出力されない)。
参考までに single ショートコードによる省略部分の指定は次のようになる。
[single] <p>「システムの復元」は Windows Me, XP, Vista, 7 に搭載されています。</p> <ul> <li><a href="#win7">Windows 7</a></li> <li><a href="#vista">Windows Vista</a></li> <li><a href="#xp">Windows XP</a></li> <li><a href="#me">Windows Me</a></li> </ul> [/single]
関連リンク
ToDo
プラグイン化(single ショートコードプラグイン)