Single Article

the_excerpt()で漢字も対応させるplugin

このブログのトップページ下部では、wordpressのthe_excerpt()タグを使って概要を表示している。the_excerpt()は、記事の概要欄に概要を書けばそれが表示されるが、書いていない(空欄)の場合は、55ワード(英語の場合)で省略される。また、HTMLタグ(IMG要素含む)はエスケープされる。

これが、日本語(というかマルチバイト文字)の場合にはワードの概念が無いので、ほぼ全部表示されることになる。これではいやなので、対応するためのプラグインを作った。このプラグインは、wordpressのthe_excerpt(), the_excerpt_rss(), comment_excerpt()の3つの関数をフィルターして、マルチバイト文字100文字(デフォルト)で省略の「...」を表示する。1バイトのアルファベット、数字、記号などは文字数としてカウントしない。1バイトの場合は55ワードで省略は基本設定のままになる。

ちなみにプラグインの編集で冒頭にある変数を変えれば省略するまでのマルチバイト文字数を設定可能。

$mb_excerpt_word = 100; // ←the_excerpt()関数の省略までの文字数
$mb_rss_word = 100;   // ←the_excerpt_rss()関数の省略までの文字数
$mb_comment_word = 80; //←comment_excerpt()関数の省略までの文字数

2007/3/6 修正: Ver0.91b
*タグが閉じなくなる不具合を修正。(フィルターのプライオリティを修正しwpautopを後からかけるようにした)

2007/2/27 修正: Ver0.9b
* 1バイト文字は全て文字数としてカウントしない。(元は半角英数字のみカウントしない)。
* 既に最後に’…’がある場合は、Multibyte Excerptは’…’を付加しない。(元は常に付加)。

以下のリンクからmb_excerpt.php.txtをダウンロードし、ファイル名の拡張子から.txtを取ってください。

ダウンロード : Multibyte Excerpt Plugin for Word Press 0.91b (1220)

インストール:
wp-content/plugins/ にアップロードして、管理画面で有効化してください。

Related Posts

Trackback URL

18 Comments

  1. はてな
    Posted 2007/3/27 at 10:20 am | Permalink

    はじめまして。
    試してみたいのですが、ダウンロードできません。
    download-manager.phpの不具合ですか?0KBの空のmb_excerpt.phpしか作成されません。

  2. Posted 2007/3/27 at 3:08 pm | Permalink

    >はてなさん
    すみませんでした。ダウンロードマネージャープラグインを導入したのですが、どうもダメみたいなので、元に戻しました。
    今度はダウンロード出来ると思います(^^;)

  3. はてな
    Posted 2007/3/27 at 7:51 pm | Permalink

    迅速な対応ありがとうございます。
    さっそく試してみました。
    パッチをあてるより断然簡単に導入できて、動作もばっちりでした。
    センスの良さに脱帽です。

  4. natalie
    Posted 2007/5/10 at 9:42 am | Permalink

    はじめまして。the_content()のcutが日本語に対応していなくてどうしたら記事内容の日本語の最初100文字とか出力させられるのかな。。。とサーチしていたらこちらにたどり着きました。これは、the_content()にも応用できるのでしょうか。。。

    あと記事とは、関係ないことで不躾で失礼しますが、どうしてもお聞きしたいことがあるので書かせていただきます。

    こちらのAboutを読ませていただきましたが、サーバーは、West Hostを使われているのですね。私は、アメリカ在住ですが、ずっと日本のサーバーを使ってきました。支払いとかサポートの面でこちらのサーバーを借りた方が便利なのでWest Hostへの引越し作業をしているのですが、データベース(日本語UTF-8)をインポート後の文字化けに悩まされています。テクサポに問い合わせたところカスタマイぜーションが必要だと言われています。junonさんは、そういう問題は、なかったですか?お時間がある時にでもご意見を聞かせていただければ幸いです。

    ながながと失礼いたしました。

  5. Posted 2007/5/10 at 11:54 pm | Permalink

    natalieさん
    どうもはじめまして。
    このプラグインはthe_content()には対応していません。ただ、私の勘違いかもしれませんが、cutはthe_content_rss()用にあると認識しています。

    the_contentの文字数を100文字とかでcutするなら、このプラグインを使用して、the_content(”cut”)を入れたいところにthe_excerpt()を入れれば同じと思います(postのときにexcerpt欄を書いている場合はそれが出ますが)。

    また、WestHostの文字化けの件はここでやりとりするのもナンなので、メールでいかがでしょうか?

    よろしくおねがいします。

  6. natalie
    Posted 2007/5/11 at 2:17 am | Permalink

    junonさん

    お返事、ありがとうございました。the_contet_rss()の方でした。。。最近、サーバーの移転の方で頭がいっぱいで。。。よく考えないでコメントしてしまって済みません。the_content_rss()のcutの代わりにthe_excerpt()を使って、投稿する時に概要を書いているのですが、ちょっとカッコ悪いかなと。でも、自分でまっさらの状態からコードを書くレベル(?)でもないので(こっちの方がもっとカッコ悪いですね)、こちらを参考にさせていただけたらと思います。

    サーバーの件、今朝、サーバー会社から「Japanese localesがインストールしてなかったのでしました」と連絡がありまして、もう一度データベースのインポートをするところです。是非、よろしかったらメールをいただけたらと思います。よろしくお願いいたします。

  7. natalie
    Posted 2007/5/12 at 6:28 am | Permalink

    junonさん

    たびたび済みません。今までのポストで記入したメールアドレスは、今、送受信できないようになっているので、こちらのsbcglobal.netの方でお願いいたします。よろしくお願いします。

  8. Posted 2007/5/17 at 5:57 am | Permalink

    junonさん

    たびたび申し訳ありません。このプラグインのこと勘違いしていました。これをこのまま使えば記事の内容の最初を表示させることができるのですね!

    サーバーの方、文字化けは、解決いたしました!とても良いサーバーを紹介していただき、ありがとうございました。それでは、失礼いたします。

  9. Posted 2007/6/22 at 10:07 pm | Permalink

    はじめまして、taiといいます。

    素晴らしいプラグインをありがとうございます!

    私は WordPress 本家版用の日本語リソースを作成しているのですが、ついでに日本語リソース入りの WordPress も作成しています。

    そこでお願いなのですが、junonさんのMultibyte search pluginとMultibyte Excerpt Pluginを同梱させてもらえませんでしょうか。

    よろしくお願いします。

  10. Posted 2007/6/22 at 10:23 pm | Permalink

    taiさん
    はじめまして!
    私の方が日本語対応の際、Standing Tallには大変お世話になりました。
    Multibyte ExcerptもMultibyte Searchも恥ずかしいくらい簡単なプラグインなのですが、お役に立てるならいくらでも同梱してください!
    よろしくお願いします。

  11. Posted 2007/6/23 at 9:26 pm | Permalink

    junonさん、

    快諾していただき、ありがとうございます。
    私のブログがすこしでもお役に立っていたのならうれしいです。

    >恥ずかしいくらい簡単なプラグインなのですが
    プログラムが分からない私にしてみれば魔法みたいなもんで、初めて使用して文字化けも解消されて動作したのを見たときは「うおっ!」とヨロコビの声をあげましたよ。:-)

    ところで、日本語リソース入りの WordPress は当然日本語使用者向けなので、このプラグインのDescriptionも日本語にしたいのですが、よろしいですか?

    例えば以下のような感じでどうでしょうか?

    『このプラグインは、the_excerpt()、the_excerpt_rss()、comment_excerpt()の各関数をフックして、日本語のようなマルチバイト文字の抜粋文を単語数ではなく文字数で区切ります。』
    #タイポ見つけました:fooks -> hooks

    『全角スペースで and 検索できるようにします。』

    あるいは、junonさんのお好きなように書いてくださると助かります。

    よろしくお願いします。

  12. Posted 2007/6/24 at 12:11 am | Permalink

    taiさん

    どうも。翻訳していただき、ありがとうございます。ぜひそれでお願いします。

    > #タイポ見つけました:fooks -> hooks

    これもありがとうございます :)

  13. Posted 2007/6/24 at 10:43 pm | Permalink

    Junonさん、
    あらためて、素晴らしいプラグインをありがとうございます。

    同梱させていただいた WordPress はこちらにコミットしました:
    http://svn.automattic.com/wordpress-i18n/ja_JP/tags/2.2.1/dist/wordpress-2.2.1-ja.zip

    また、フォーラムの方にもお知らせを出しました:
    http://phpbb.xwd.jp/viewtopic.php?t=1240

    何かお気づきの点がございましたら、メールでご連絡いただけると助かります。

  14. にごー
    Posted 2008/3/31 at 12:16 pm | Permalink

    初めまして。
    WordPress初心者のものです。

    すばらしいプラグインをご提供いただきありがとうございます。
    便利に使わせていただいております。

    ちょっと教えていただきたいのですが、標準の the_excerpt() と
    使い分けたい場合はどうすればいいんでしょうか。

    お忙しいところお手数をお掛けしますが、よろしくお願いします。

  15. yado
    Posted 2008/4/4 at 11:55 am | Permalink

    すいません。このプラグインを使用したいのですがうまくダウンロードできません。

  16. bee
    Posted 2008/4/11 at 2:43 am | Permalink

    はじめまして。
    残念ながらなぜかダウンロードできませんでした。

  17. Posted 2008/4/15 at 6:58 pm | Permalink

    私もダウンロード出来ませんでしたが、コメント9の記事を頼りに http://codex.wordpress.org/ja:resource から「日本語リソース入り WordPress 2.3.1 (wordpress-2.3.1-ja.zip)」をダウンロードしてみたら、pluginsフォルダの中に「mb_excerpt.php」が入ってました。
    WordPress2.2.3で試してみましたが、問題なく動作しています。

  18. いし
    Posted 2008/5/1 at 12:21 am | Permalink

    ダウンロードでは白紙なのでコメント17を参考にしてダウンロードしました
    まさに ほしい機能のプラグインでした
    記事内容にHTMLがないときはうまくいくのですが
    HTMLがあると表示しません
    HTMLに対応したプラグインはどこから手に入れることができるのでしょうか
    ご存知の方がいたらお教えください

21 Trackbacks/Pingbacks

  1. [...] the_excerptで漢字も対応させるplugin | Tech de Go [...]

  2. ささやかな機能ではありますが、マルチバイトに対応してくれるというのは嬉しいものです。 他にも、the_excerpt()で漢字も対応させるpluginというのも公開されておりますが、こっちは Search Excerpt WordPress Plugin との相性が良くないみたいなので、導入を見送ることにしました。[IMG :silence:]

  3. [...] 先日公開したthe_excerpt()で漢字も対応させるpluginですが、こちらでSearch Excerptプラグインに対応していないとの指摘を受け、このプラグインを入れていたにもかかわらず、検索したことが無かった ことが判明しましたので私のプラグインを修正しました。 [...]

  4. 日本語化に関するプラグイン the_excerpt()で漢字も対応させるplugin 全角スペースでand検索するプラグイン いずれもTech de Goより。簡にして要を得ている。

  5. [ the_excerpt()で漢字も対応させるplugin | Tech de Go ]より引用 Accessed Date:2007年3月7日 8:03:15 プラグインの方がアップグレードの際に管理がラクなので、こちらのプラグインを利用させていただこうと思います。

  6. [...] そして、このおかげで、自作のプラグインmb_excerptのプライオリティがおかしい(wpautopよりも後になっている)ことが判明した。早速直さなければ。 [...]

  7. 日本語対応 WordPress the_excerpt プラグイン…

    WordPress の the_excerpt() 関数は、記事の要約を表示します。要約といっても「抜粋表示オプション」に何も書かなければ先頭から 55 単語を抜き出します。
     しかし、この関数がマルチバ….

  8. [...] the_excerpt()で漢字も対応させるplugin | Tech de Go [...]

  9. [...] マルチバイト文字の抜粋文を単語数ではなく文字数で区切るMultibyte Excerpt プラグインの同梱 [...]

  10. 抜粋表示 the_excerpt() を日本語に対応させるplugin…

    Wordpressの記事を抜粋表示させる関数 the_excerpt() は、空白スペースで区切られる英単語の数をかぞえて、55単語(word)で抜粋文を表示している。
    しかし、日本語の場合は空白スペースで単…..

  11. [...] Visit [...]

  12. [...] the_excerpt()で漢字も対応させるplugin | Tech de Go [...]

  13. WordPressのfeedの文字数…

    WordPressからはき出されるfeedについての設定は
    各種設定→表示設定→RSS/ATOMフィード のところで
    投稿表示数や文字コードの指定、全文表示か抜粋表示かの選択など
    できるようになってい…

  14. [...] Multibyte Excerpt [...]

  15. [...] 差し当たり、WordPress のテーマを Hemingway Reloaded 1.0 に、また、トップページの引用句が日本語だとうまく表示されなかったので、the_excerpt()で漢字も対応させるplugin を利用させていただきました (Thanks!)。 [...]

  16. [...] 【目的】概要の文字数を指定したい :: Multibyte Excerpt [...]

  17. WordPressでthe_excerptタグを日本語対応するプラグイン…

    WordPressで、投稿記事の抜粋を表示するthe_excerptテンプレートタグを利用しても、日本語の場合、全て表示されてしまうため、実際は利用することができませんでした。
    この「mb_excerpt」プ…..

  18. [...] コアファイルに手を加えると、バージョンアップの時に面倒なので、一番手軽そうなプラグインを入れてみました。 the_excerpt()で漢字も対応させるplugin | Tech de Go [...]

  19. [...] マルチバイト文字の抜粋文を単語数ではなく文字数で区切るMultibyte Excerpt プラグインの同梱 [...]

  20. [...] known issueのようで、ぐぐるとすぐにいろいろ対処法が見つかる。mb_excerpt() とかWP Multibyte Patch とかのpluginを使えばよいようだ。これらはphpのmultibyte [...]

  21. [...] Multibyte Excerpt [...]

Post a Comment

Your email is never published nor shared.