• 解決済 yoisyo

    (@yoisyo)


    Buddypressの「サイト全体の投稿」ウィジェットでは、記事全体が表示され、文字数の制限を設定することができません。表示される文字を制限する方法はないでしょうか?
    よろしくお願いします。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • Fumito MIZUNO

    (@php-web)

    bp_get_activity_content_body フィルタで制御できますよ。

    ブログに記事を書いておいたので参考にしてください。
    http://ounziw.com/2010/12/14/sitewideposts/

    トピック投稿者 yoisyo

    (@yoisyo)

    php-webさん、ありがとうございます。
    記事を参考にさせていただいて、試してみます。

    chestnut_jp

    (@chestnut_jp)

    php-webさんが回答をつけていらっしゃいるところ、横槍ですみませんが、yoishoさんはわたしのブログ(http://staff.blog.bng.net/)のゲストブックに質問を投稿された方でしょうか?

    人違いでしたら申し訳ありませんが、同じ方でしたら例外的にゲストブックに簡単に回答をつけましたが、「サイト全体の最新投稿」はわたしのところでは全文を引っ張ってはきません。

    全文が引っ張られているとしたらWP Multibyte Patchが最新のものになっていないか、あるいは、configファイルの設定を正しく行っていないせいだと思いますので、php-webさんが提示された方法を試されるよりも先に、その点を確認されることを強くお勧めします。

    なお、わたしのブログのゲストブックに投稿されている質問は、ここでこの回答をつけたことを機に、やはり場違いなので削除させていただきます。

    Fumito MIZUNO

    (@php-web)

    WP Multibyte Patch も、bp_get_activity_content_body フィルタで制御していますね。
    http://eastcoder.com/code/wp-multibyte-patch/

    WP Multibyte Patch をインストールしたほうが良いと思います。(全文を引っ張ってくるのは、マルチバイトに起因する問題ではありませんが)

    chestnut_jp

    (@chestnut_jp)

    php-webさん

    >> 全文を引っ張ってくるのは、マルチバイトに起因する問題ではありませんが

    この部分ですが、BuddyPressが1.2.3くらいに上がった頃から、日本語(マルチバイト)に対してexcerptが効かなくなるという不具合が発生していました。

    WP Multibyte Patchの最新版はこの不具合を解消するためにアップグレードされたものなので、WP Multibyte Patchがインストールされていなければ、BuddyPress側のexcerpt(具体的にはbp_create_excerpt())が日本語をはじめとするマルチバイトを処理することはなく、結果全文を引っ張ってきてしまうのだと思われます。

    もちろん、WP Multibyte Patchをインストール・有効化していても、初期設定ではBuddyPress非対応(設定がオフ)なので前に述べましたとおりconfigの設定が正しくなされていなければ(=BuddyPressへの対応がオフのままになっている)BuddyPress側のbp_create_excerpt()がそのまま適用されてしまうので、引き続き全文を引っ張ってきてしまうはずです。

    Fumito MIZUNO

    (@php-web)

    bp_get_activity_content_body は、全文を引っ張ってくるのが仕様だと思います。そもそも excerpt を呼び出してはいないので。

    「本来抜粋を呼び出すところが、全文になっている」ではなく、「そもそもこのウィジェットは全文を引っ張ってくる」だと思います。
    むしろ、ウィジェットで、全文しか選択肢が無いのが問題かもしれません。

    Fumito MIZUNO

    (@php-web)

    bp_get_activity_content_body に渡す前にどっかで削っていますね。今調べています。

    chestnut_jp

    (@chestnut_jp)

    質問者不在で話が少し逸れ気味になってきていますが、フォーラム(=会議室)という意味では根本的な構造を知ることも大切だと思いますので、少しだけ。

    そもそもサイト全体の最新投稿は、そのウィジェットの機能としてサイト(ネットワーク)上の全てのブログから内容を引っ張ってきているものだとは思っていません。
    活動(Activity Stream)に記載されたブログ内容を引っ張ってきているだけではないかと思っていたのですが・・・

    活動(Activitiy Stream)には、bp_create_excerpt()で丸めた内容が記載されます。

    Fumito MIZUNO

    (@php-web)

    データベース bp_activity に入れる時に削っているようですね。
    そして、bp_get_activity_content_body はそこ(bp_activity)から、そのまま引っ張ってきているようです。

    Fumito MIZUNO

    (@php-web)

    データベース bp_activity に入れる時に削っているようですね。
    そして、bp_get_activity_content_body はそこ(bp_activity)から、そのまま引っ張ってきているようです。

    トピック投稿者 yoisyo

    (@yoisyo)

    chestnut_jpさん
    どうも、ゲストブックで質問させていただいたものです。
    場違いなところに質問を書いてしまい、すいませんでした。

    WP Multibyte Patchは最新のものをインストールしていたのですが、wpmp-config.phpを編集せずに放置していました。
    プラグインの説明を読んでいませんでした。すいません。

    wpmp-config.phpの$wpmp_conf[‘patch_bp_create_excerpt’]をfalseからtrueに変えたところ、Buddypress Sitewide activity widgetもサイト全体の投稿ウィジェットも、全文表示されずに抜粋表示されるようになりました。
    すでに投稿している記事は、更新してはじめて反映されました。
    ありがとうございます。
    php-webさんも、ありがとうございました。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「Buddypressのサイト全体の投稿widgetで、表示文字を制限」には新たに返信することはできません。