サポート » 使い方全般 » ブログロールの説明の文字数制限について

  • 解決済 748648

    表題の件で「WPリンク機能」各リンクの説明文章の登録できる文字数をもう少し大きくしたいと考えています。

    文字数の制限いっぱいまで説明文章を入力するので、
    現在はリンク登録フォームの説明の部分のテキストボックスをテキストエリアに変更してブログロールを使用しています。
    (変更箇所:edit-link-form.phpの95行目)

    「リンクの説明」に登録できる文字数の変更手順をご教授お願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 748648

    追記です。

    本件では、ウィジェットにリスト表示しているのはなく、ページを作り、リンク集として使っています。

    リンクの説明(link_description)の80字程度の文字数制限をどうにかして変更したいです。
    どなた様かお力添えをお願い申し上げます。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    リンクの説明(link_description)の80字程度の文字数制限をどうにかして変更したいです。

    DB の定義で、link_description は VARCHAR(255) となっているため、本来は 255 文字まで行けるはずです (MySQL 4.1 以降で照合順序が utf8_general_ci の場合)。VARCHAR はバイト数じゃなくて文字数の制限だからです。しかし、日本語は UTF-8 で1文字3バイトのため、WordPress のどこかで link_description の長さチェックをバイト数で行なっていると、81 文字しか入らなくなります。

    ということで、WordPress コアを改造しない限り81文字制限は変えようがありません。PHP コードで MySQL の文字数制限をシミュレートする必要があって、なかなか困難です (とりあえず mb_strlen() で代用すればいいかも??)。

    あ、MySQL 4.0 以下の場合は文字コードを勘案しないので、VARCHAR はバイト数制限と同等になり、どうがんばっても 81 文字ですね。お使いのサーバーの MySQL が 4.0 であれば、あきらめてください。

    トピック投稿者 748648

    lilyfan 様
    ご返答ありがとうございます。

    DB の定義で、link_description は VARCHAR(255) となっているため、本来は 255 文字まで行けるはずです

    MySQLのバージョンは4.0です。
    DBの定義があったとはまったく知らずお恥ずかしいです。
    単純にPHPで保存前の文字数制限をしているものと思い込み、端から探していました。

    link_descriptionのフィールドタイプをVARCHARからTEXTに変更しましたら、思い通りに文字数の制限がなくなりました。
    本当にありがとうございました。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    link_descriptionのフィールドタイプをVARCHARからTEXTに変更しましたら、思い通りに文字数の制限がなくなりました。

    それはよかったです。ということは、WordPress 側では文字数チェックをしていない、ということになりますね。
    「81文字制限」で困っている人がほかにいるなら、trac に投げて VARCHAR(255) を TEXT に変えてもらった方がいいかもしれません。

    トピック投稿者 748648

    それはよかったです。ということは、WordPress 側では文字数チェックをしていない、ということになりますね。

    はい。探して探して見当たらなかったので、
    「実際、なかったんだ・・」
    ということがわかって本当にすっきりです。

    思い切って書き込みしてよかったです。
    「81文字制限」でお困りの方がこのスレで解決できたら私もうれしいです。

    lilyfan 様、この度は本当にありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「ブログロールの説明の文字数制限について」には新たに返信することはできません。