トピック投稿者
748648
追記です。
本件では、ウィジェットにリスト表示しているのはなく、ページを作り、リンク集として使っています。
リンクの説明(link_description)の80字程度の文字数制限をどうにかして変更したいです。
どなた様かお力添えをお願い申し上げます。
リンクの説明(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に変更しましたら、思い通りに文字数の制限がなくなりました。
本当にありがとうございました。
link_descriptionのフィールドタイプをVARCHARからTEXTに変更しましたら、思い通りに文字数の制限がなくなりました。
それはよかったです。ということは、WordPress 側では文字数チェックをしていない、ということになりますね。
「81文字制限」で困っている人がほかにいるなら、trac に投げて VARCHAR(255) を TEXT に変えてもらった方がいいかもしれません。
トピック投稿者
748648
それはよかったです。ということは、WordPress 側では文字数チェックをしていない、ということになりますね。
はい。探して探して見当たらなかったので、
「実際、なかったんだ・・」
ということがわかって本当にすっきりです。
思い切って書き込みしてよかったです。
「81文字制限」でお困りの方がこのスレで解決できたら私もうれしいです。
lilyfan 様、この度は本当にありがとうございました。