【至急・重要】ウィルスチェックのお願い

Change Style


WP plugin[up]: パン屑ナビゲーションを表示 - Breadcrumb Navigation XT

コンテンツの左上に表示しているパン屑ナビゲーション用プラグイン Breadcrumb Navigation XT を ver.1.5 へアップグレード。単体記事表示時にカテゴリも表示できるオプションが追加された。
初回設置時(ver. 1.4/2006.6.26)の記事を公開していなかったので、リバイズして公開。

Breadcrumb Navigation XT
機能概要パン屑ナビゲーションを表示1
バージョン1.5 [2006.8.21]
作者(web)Michael Woehrer さま
配布元Software Guide » Breadcrumb Nav XT
ドキュメント同上
動作見本同上
「ページ」対応
適用したWPWordPress ME 2.0.4 [UTF-8]

デフォルトでの表示見本

現在ページより上位のページはリンク付き(現在ページのリンクはオプション)。

  • メインページ(2ページ目以降も同様)
    Navigation: Weblog
  • 単体記事表示ページ
    Navigation: Weblog / Blog article: WP plugin: 外部リンク等に自動アイコン表示 - Link Indication Plugin
  • ページ タイトル「WordPress」
    Navigation: Weblog / WordPress
  • ページ「WordPress」の子ページ 「WP: リファレンス」
    Navigation: Weblog / WordPress / WP: リファレンス
  • カテゴリアーカイブ WordPress
    Navigation: Weblog / Archive by category 'WordPress'
  • カテゴリアーカイブ WordPress の子カテゴリ plugin
    Navigation: Weblog / Archive by category 'plugin'
  • 月別アーカイブ
    Navigation: Weblog / Archive: 5月 2006
  • 検索結果ページ
    Navigation: Weblog / Search
  • タグアーカイブ2
    Navigation: Weblog

導入手順

  1. 配布元の Download Latest Version 1.5 よりダウンロード。
  2. 解凍した breadcrumb-navigation-xt.phpwp-content/plugins/ ディレクトリ(サブディレクトリも可)へアップロード。アップグレード時はファイル上書き。
  3. 管理パネルにて有効化。

使い方

  • 使用中のテーマのパン屑ナビゲーションを表示させたい位置に、配布元の Usage に載っているコードを挿入する。
    • header.php や index.php がポピュラーか。
    • 私のテーマでは、ヘッダやサイドバーだと収まりが悪かったので、コンテンツ部の上部に表示させることにした。コンテンツ部のテンプレートファイルが複数あるため、コードを breadcrumb.inc にまとめ、これをテンプレート側3 でインクルードするようにした。
      <?php include (TEMPLATEPATH . "/breadcrumb.inc"); ?>
  • 表示コードでオプション指定が可能。配布元の Options 参照。→ 追記 全オプション解説
    オプション行は // Display the breadcrumb の行の上に挿入する。
    // Apply options
    $mybreadcrumb->opt['オプション名'] = '値'; ←ココ
    // Display the breadcrumb
    $mybreadcrumb->display();
    
うちの breadcrumb.inc

<?php if ( class_exists('breadcrumb_navigation_xt') ) { ?>
<div class="breadcrumb">
<?php if ( !( is_home() && !is_paged() ) ) { 1
    if ( is_category() ) { //  Category Archive 2
        echo "Navi: <a href='" . get_bloginfo('url')."'>HOME</a> &gt; " . preg_replace('/ &gt; $/', '',get_category_parents($cat, TRUE, ' &gt; '));
    } elseif ( function_exists('UTW_ShowCurrentTagSet') && is_tag() ) { // Tag Archive 3
        echo "Navi: <a href='" . get_bloginfo('url')."'>HOME</a> &gt; "; UTW_ShowCurrentTagSet('tagsettextonly');
    } else {
        // Display a prefix
        echo 'Navi: ';
        // new breadcrumb object
        $mybreadcrumb = new breadcrumb_navigation_xt;
        // Apply options
        $mybreadcrumb->opt['title_blog'] = 'HOME';
        $mybreadcrumb->opt['separator'] = ' &gt; ';
        // Display the breadcrumb
        $mybreadcrumb->display();
    }
} ?>
</div> <!-- [breadcrumb] -->
<?php } ?>

  1. ホームページでは表示しない。
  2. カテゴリアーカイブで、親ページも表示させるために独自コード。
    • プラグイン側をいじったほうがスマートかも。。。
    • get_category_parents() を使うと、区切り文字が最後にも余計に表示されてしまうので、preg_replace で強引に削除。(・;) スマートな方法を模索中。
  3. タグアーカイブページも独自コード。

既知の問題点

  • 上位ページを得るためにループ中でMySQLクエリを使用。上位階層の数だけクエリ数が増える的なことが・・・英語限界っす。orz
  • DRさんによると(コメント#5)、Wordpress 1.5.2 では動かない模様。

関連リンク

全オプション解説 追記

テンプレートファイルにコピペして、オプション設定したい項目を修正し、その行頭の // を消せば、そのオプションが有効になる。その他の不要なオプション行は消してもいい。

<?php if ( class_exists('breadcrumb_navigation_xt') ) { ?>
    <div class="breadcrumb">
    <?php 
    // Display a prefix
    echo 'Navigation: ';
    // new breadcrumb object
    $mybreadcrumb = new breadcrumb_navigation_xt;

// Apply options: オプション設定
//    設定したい項目の行頭のスラッシュ2つを外すと有効になる。UTF-8で保存。
//    以下にセットしてある値は、true/false の項目は初期値の逆、その他は初期値。

// $mybreadcrumb-&gt;opt['static_frontpage'] = true;    // 「ページ」を使ってブログ以外のホームページを設けている(ブログがホームの下位レベルにある)場合。初期値は false(ホーム=ブログ)
    // その場合のオプション
    // $mybreadcrumb-&gt;opt['url_blog'] = '';  // ブロクのURL。http://www.site.com/myweblog/にブログがあるなら '/myweblog/'
    // $mybreadcrumb-&gt;opt['home_display'] = false;   // 「Home」を表示しない場合。初期値は true(表示)
    // $mybreadcrumb-&gt;opt['url_home'] = get_settings('home');    // ホームへのリンクURI
    // $mybreadcrumb-&gt;opt['home_link'] = false;  // ホームにリンクを付けずテキストのみ表示。初期値は true(リンク付き)
    // $mybreadcrumb-&gt;opt['title_home'] = 'Home';    // ホームを表すテキスト

// その他のオプション
// $mybreadcrumb-&gt;opt['title_blog'] = 'Weblog';  // ブログのトップを表すテキスト
// $mybreadcrumb-&gt;opt['separator'] = ' / ';  /* 階層間の区切り文字 */
// $mybreadcrumb-&gt;opt['title_search'] = 'Search';    /* 検索結果ページを表すテキスト */
// $mybreadcrumb-&gt;opt['singleblogpost_prefix'] = 'Blog article: ';   /* 記事名の接頭辞 */
// $mybreadcrumb-&gt;opt['singleblogpost_suffix'] = '';     /* 同 接尾辞 */
// $mybreadcrumb-&gt;opt['page_prefix'] = '';   /* ページ名の接頭辞 */
// $mybreadcrumb-&gt;opt['page_suffix'] = '';   /* ページ名の接尾辞 */
// $mybreadcrumb-&gt;opt['urltitle_prefix'] = 'Browse to: ';    /* 上位ページのリンクにポインタを当てたときのツールチップの接頭辞 */
// $mybreadcrumb-&gt;opt['urltitle_suffix'] = '';   /* 同ツールチップの接尾辞 */
// $mybreadcrumb-&gt;opt['archive_category_prefix'] = 'Archive by category &amp;#39;';  /* カテゴリアーカイブの接頭辞 */
// $mybreadcrumb-&gt;opt['archive_category_suffix'] = '&amp;#39;';  /* カテゴリアーカイブの接尾辞 初期値はシングルクオート */
// $mybreadcrumb-&gt;opt['archive_date_prefix'] = 'Archive: ';  /* 年月日アーカイブの接頭辞 */
// $mybreadcrumb-&gt;opt['archive_date_suffix'] = '';           /* 年月日アーカイブの接尾辞  */
// $mybreadcrumb-&gt;opt['use404'] = false; /* 404エラーのときに次項の専用タイトルを表示しない場合。初期値は true(表示) */
// $mybreadcrumb-&gt;opt['title_404'] = '404';  /* 404エラー時の表示タイトル */
// $mybreadcrumb-&gt;opt['link_current_item'] = true;   /* 現在のページ名にリンクを付ける場合。初期値は false(テキストのみ) */
// $mybreadcrumb-&gt;opt['current_item_urltitle'] = 'Link of current page (click to refresh)';  /* 前項でtrueにしたときのツールチップ表示 */
// $mybreadcrumb-&gt;opt['current_item_style_prefix'] = ''; /* 現在のページ名の接頭辞(タグでもOK。&lt;span class=&quot;bc_current&quot;&gt;等) */
// $mybreadcrumb-&gt;opt['current_item_style_suffix'] = ''; /* 現在のページ名の接尾辞 */
// $mybreadcrumb-&gt;opt['posttitle_maxlen'] = 0;   /* 記事タイトルの表示文字数。0は無制限 */
// $mybreadcrumb-&gt;opt['singleblogpost_category_display'] = true; /* 単体記事表示時にカテゴリを表示。初期値は false(非表示) */
// $mybreadcrumb-&gt;opt['singleblogpost_category_prefix'] = '';    /* 前項でtrueにしたときのカテゴリ名の接頭辞 */
// $mybreadcrumb-&gt;opt['singleblogpost_category_suffix'] = '';    /* 同 接尾辞 */

// Display the breadcrumb
$mybreadcrumb-&gt;display();
?&gt;
&lt;/div&gt;&lt;!-- [breadcrumb] --&gt;

<?php } ?>

  1. 現在表示しているページの各上位階層ページを並べて表示したナビゲーション。今見ているページがどこに位置しているのかが分かり、各上位ページへ戻るリンクを提供する。関連リンク参照[back]
  2. UTW によるアーカイブページ。さすがに未サポート(^^;[back]
  3. index.php, page.php, archive.php 等。single.php では不使用。[back]

2 Responses to “WP plugin[up]: パン屑ナビゲーションを表示 - Breadcrumb Navigation XT”

  1. WordPress Plugin : パンくずナビゲーションを設置 at orioa :

    [...] 設置参考元は以下 ・power source* » WP plugin[up]: パン屑ナビゲーションを表示 - Breadcrumb Navigation XT ・パンくずナビゲーションプラグイン Breadcrumb Navigation XT | WordPressで企業ウェブサイト作成・商用ホームページ制作 WordPress Go Go [...]

  2. もうひとつの、創るブログ » Blog Archive » パンくずリスト:これは必須。Wordpressにはいいプラグインがある ・・・ 【機能カスタマイズ】 :

    [...] Breadcrumb Navigation XT    ( by WordPress Go Go さん )   ☆WP plugin[up]: パン屑ナビゲーションを表示 - Breadcrumb Navigation XT    ( by power source* さん [...]

コメントをどうぞ