このブログのトップページ下部では、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 (4398)
インストール:
wp-content/plugins/ にアップロードして、管理画面で有効化してください。








Trackback URL
19 Comments
はじめまして。
試してみたいのですが、ダウンロードできません。
download-manager.phpの不具合ですか?0KBの空のmb_excerpt.phpしか作成されません。
>はてなさん
すみませんでした。ダウンロードマネージャープラグインを導入したのですが、どうもダメみたいなので、元に戻しました。
今度はダウンロード出来ると思います(^^;)
迅速な対応ありがとうございます。
さっそく試してみました。
パッチをあてるより断然簡単に導入できて、動作もばっちりでした。
センスの良さに脱帽です。
はじめまして。the_content()のcutが日本語に対応していなくてどうしたら記事内容の日本語の最初100文字とか出力させられるのかな。。。とサーチしていたらこちらにたどり着きました。これは、the_content()にも応用できるのでしょうか。。。
あと記事とは、関係ないことで不躾で失礼しますが、どうしてもお聞きしたいことがあるので書かせていただきます。
こちらのAboutを読ませていただきましたが、サーバーは、West Hostを使われているのですね。私は、アメリカ在住ですが、ずっと日本のサーバーを使ってきました。支払いとかサポートの面でこちらのサーバーを借りた方が便利なのでWest Hostへの引越し作業をしているのですが、データベース(日本語UTF-8)をインポート後の文字化けに悩まされています。テクサポに問い合わせたところカスタマイぜーションが必要だと言われています。junonさんは、そういう問題は、なかったですか?お時間がある時にでもご意見を聞かせていただければ幸いです。
ながながと失礼いたしました。
natalieさん
どうもはじめまして。
このプラグインはthe_content()には対応していません。ただ、私の勘違いかもしれませんが、cutはthe_content_rss()用にあると認識しています。
the_contentの文字数を100文字とかでcutするなら、このプラグインを使用して、the_content(”cut”)を入れたいところにthe_excerpt()を入れれば同じと思います(postのときにexcerpt欄を書いている場合はそれが出ますが)。
また、WestHostの文字化けの件はここでやりとりするのもナンなので、メールでいかがでしょうか?
よろしくおねがいします。
junonさん
お返事、ありがとうございました。the_contet_rss()の方でした。。。最近、サーバーの移転の方で頭がいっぱいで。。。よく考えないでコメントしてしまって済みません。the_content_rss()のcutの代わりにthe_excerpt()を使って、投稿する時に概要を書いているのですが、ちょっとカッコ悪いかなと。でも、自分でまっさらの状態からコードを書くレベル(?)でもないので(こっちの方がもっとカッコ悪いですね)、こちらを参考にさせていただけたらと思います。
サーバーの件、今朝、サーバー会社から「Japanese localesがインストールしてなかったのでしました」と連絡がありまして、もう一度データベースのインポートをするところです。是非、よろしかったらメールをいただけたらと思います。よろしくお願いいたします。
junonさん
たびたび済みません。今までのポストで記入したメールアドレスは、今、送受信できないようになっているので、こちらのsbcglobal.netの方でお願いいたします。よろしくお願いします。
junonさん
たびたび申し訳ありません。このプラグインのこと勘違いしていました。これをこのまま使えば記事の内容の最初を表示させることができるのですね!
サーバーの方、文字化けは、解決いたしました!とても良いサーバーを紹介していただき、ありがとうございました。それでは、失礼いたします。
はじめまして、taiといいます。
素晴らしいプラグインをありがとうございます!
私は WordPress 本家版用の日本語リソースを作成しているのですが、ついでに日本語リソース入りの WordPress も作成しています。
そこでお願いなのですが、junonさんのMultibyte search pluginとMultibyte Excerpt Pluginを同梱させてもらえませんでしょうか。
よろしくお願いします。
taiさん
はじめまして!
私の方が日本語対応の際、Standing Tallには大変お世話になりました。
Multibyte ExcerptもMultibyte Searchも恥ずかしいくらい簡単なプラグインなのですが、お役に立てるならいくらでも同梱してください!
よろしくお願いします。
junonさん、
快諾していただき、ありがとうございます。
私のブログがすこしでもお役に立っていたのならうれしいです。
>恥ずかしいくらい簡単なプラグインなのですが
プログラムが分からない私にしてみれば魔法みたいなもんで、初めて使用して文字化けも解消されて動作したのを見たときは「うおっ!」とヨロコビの声をあげましたよ。:-)
ところで、日本語リソース入りの WordPress は当然日本語使用者向けなので、このプラグインのDescriptionも日本語にしたいのですが、よろしいですか?
例えば以下のような感じでどうでしょうか?
『このプラグインは、the_excerpt()、the_excerpt_rss()、comment_excerpt()の各関数をフックして、日本語のようなマルチバイト文字の抜粋文を単語数ではなく文字数で区切ります。』
#タイポ見つけました:fooks -> hooks
『全角スペースで and 検索できるようにします。』
あるいは、junonさんのお好きなように書いてくださると助かります。
よろしくお願いします。
taiさん
どうも。翻訳していただき、ありがとうございます。ぜひそれでお願いします。
> #タイポ見つけました:fooks -> hooks
これもありがとうございます
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
何かお気づきの点がございましたら、メールでご連絡いただけると助かります。
初めまして。
WordPress初心者のものです。
すばらしいプラグインをご提供いただきありがとうございます。
便利に使わせていただいております。
ちょっと教えていただきたいのですが、標準の the_excerpt() と
使い分けたい場合はどうすればいいんでしょうか。
お忙しいところお手数をお掛けしますが、よろしくお願いします。
すいません。このプラグインを使用したいのですがうまくダウンロードできません。
はじめまして。
残念ながらなぜかダウンロードできませんでした。
私もダウンロード出来ませんでしたが、コメント9の記事を頼りに http://codex.wordpress.org/ja:resource から「日本語リソース入り WordPress 2.3.1 (wordpress-2.3.1-ja.zip)」をダウンロードしてみたら、pluginsフォルダの中に「mb_excerpt.php」が入ってました。
WordPress2.2.3で試してみましたが、問題なく動作しています。
ダウンロードでは白紙なのでコメント17を参考にしてダウンロードしました
まさに ほしい機能のプラグインでした
記事内容にHTMLがないときはうまくいくのですが
HTMLがあると表示しません
HTMLに対応したプラグインはどこから手に入れることができるのでしょうか
ご存知の方がいたらお教えください
読ませていただきました。
大変参考になりました。
これからも、良い情報の発信をしていだければと思います。
ありがとうございました。
33 Trackbacks/Pingbacks
[...] the_excerptで漢字も対応させるplugin | Tech de Go [...]
ささやかな機能ではありますが、マルチバイトに対応してくれるというのは嬉しいものです。 他にも、the_excerpt()で漢字も対応させるpluginというのも公開されておりますが、こっちは Search Excerpt WordPress Plugin との相性が良くないみたいなので、導入を見送ることにしました。[IMG :silence:]
[...] 先日公開したthe_excerpt()で漢字も対応させるpluginですが、こちらでSearch Excerptプラグインに対応していないとの指摘を受け、このプラグインを入れていたにもかかわらず、検索したことが無かった ことが判明しましたので私のプラグインを修正しました。 [...]
日本語化に関するプラグイン the_excerpt()で漢字も対応させるplugin 全角スペースでand検索するプラグイン いずれもTech de Goより。簡にして要を得ている。
[ the_excerpt()で漢字も対応させるplugin | Tech de Go ]より引用 Accessed Date:2007年3月7日 8:03:15 プラグインの方がアップグレードの際に管理がラクなので、こちらのプラグインを利用させていただこうと思います。
[...] そして、このおかげで、自作のプラグインmb_excerptのプライオリティがおかしい(wpautopよりも後になっている)ことが判明した。早速直さなければ。 [...]
日本語対応 WordPress the_excerpt プラグイン…
WordPress の the_excerpt() 関数は、記事の要約を表示します。要約といっても「抜粋表示オプション」に何も書かなければ先頭から 55 単語を抜き出します。
しかし、この関数がマルチバ….
[...] the_excerpt()で漢字も対応させるplugin | Tech de Go [...]
[...] マルチバイト文字の抜粋文を単語数ではなく文字数で区切るMultibyte Excerpt プラグインの同梱 [...]
抜粋表示 the_excerpt() を日本語に対応させるplugin…
Wordpressの記事を抜粋表示させる関数 the_excerpt() は、空白スペースで区切られる英単語の数をかぞえて、55単語(word)で抜粋文を表示している。
しかし、日本語の場合は空白スペースで単…..
[...] Visit [...]
[...] the_excerpt()で漢字も対応させるplugin | Tech de Go [...]
WordPressのfeedの文字数…
WordPressからはき出されるfeedについての設定は
各種設定→表示設定→RSS/ATOMフィード のところで
投稿表示数や文字コードの指定、全文表示か抜粋表示かの選択など
できるようになってい…
[...] Multibyte Excerpt [...]
[...] 差し当たり、WordPress のテーマを Hemingway Reloaded 1.0 に、また、トップページの引用句が日本語だとうまく表示されなかったので、the_excerpt()で漢字も対応させるplugin を利用させていただきました (Thanks!)。 [...]
[...] 【目的】概要の文字数を指定したい :: Multibyte Excerpt [...]
WordPressでthe_excerptタグを日本語対応するプラグイン…
WordPressで、投稿記事の抜粋を表示するthe_excerptテンプレートタグを利用しても、日本語の場合、全て表示されてしまうため、実際は利用することができませんでした。
この「mb_excerpt」プ…..
[...] コアファイルに手を加えると、バージョンアップの時に面倒なので、一番手軽そうなプラグインを入れてみました。 the_excerpt()で漢字も対応させるplugin | Tech de Go [...]
[...] マルチバイト文字の抜粋文を単語数ではなく文字数で区切るMultibyte Excerpt プラグインの同梱 [...]
[...] known issueのようで、ぐぐるとすぐにいろいろ対処法が見つかる。mb_excerpt() とかWP Multibyte Patch とかのpluginを使えばよいようだ。これらはphpのmultibyte [...]
[...] Multibyte Excerpt [...]
[...] なぜだ ググって徘徊していたところ、Multibyte Excerptというステキプラグインを発見 [...]
[...] Multibyte Excerpt [...]
[...] the_excerpt()で漢字も対応させるplugin | Tech de Go [...]
[...] コアファイルに手を加えると、バージョンアップの時に面倒なので、一番手軽そうなプラグインを入れてみました。 the_excerpt()で漢字も対応させるplugin | Tech de Go [...]
[...] the_excerpt()で漢字も対応させるplugin 日本語にも対応してくれるので便利です。 [...]
[...] 概要の表示文字数の設定 $mb_excerpt_word = 100; // ←the_excerpt()関数の省略までの文字数 $mb_rss_word = 100; // ←the_excerpt_rss()関数の省略までの文字数 $mb_comment_word = 80; //←comment_excerpt()関数の省略までの文字数 [...]
[...] 「記事の概要’」は、the_excerpt()関数を使い表示することができます(このサイトのトップページでも「最近の投稿」について、タイトルだけでなく内容が少し分かるように、先頭から一定数の文字を表示させています。 英語の場合は、55文字がデフォルトで日本語の場合でWP Multibyte Patchプラグインを有効化している場合は、日本語で100文字くらい表示されてしまいます。 トップページの最近の投稿など、リスト表示している場合は、この文字数ではちょっとうるさく見えてしまいます。 このMultibyte Excerpt プラグインは、この文字数を変更可能にするプラグインです。 Tech de Goさんのサイトからダウンロードし、プラグインフォルダにアップし、管理画面のプラグインの編集画面で文字数を適宜修正し保存してから有効化すればちゃんと反映されます。 [...]
[...] よってこちらのプラグインフォルダに入れて有効化しましょう。 http://www.techdego.com/2007/02/mb_excerpt_plugin.php [...]
[...] プラグインで修正 [...]
[...] the_excerpt()で漢字も対応させるplugin [...]
[...] the_excerpt()で漢字も対応させるplugin [...]
[...] ただ日本語との相性が悪く、マルチバイト文字を正確にカウントしないため、使用するときは認識するプラグインが必須。プラグインはこちら [...]
Post a Comment