注文の多いXOOPS屋 TOP現在のブログ旧スタッフblog アーカイブ
このページは 2007〜2008 年に公開していた「株式会社RYUS スタッフblog」のアーカイブです。内容は当時のものです。

wordpress と pukiwiki モジュールのブロックで折り返しをさせる小ネタハック

2007/03/09 18:52   Ryuji   カテゴリ: wordpress

XOOPS Cube2.1 では、コアファイルを直接書き換えるようなハックは不要になりました。
しかし、モジュールの動作はコアから手を加えられないのでまだまだハックが必要になることもあります。

というわけで、最近やってみた小ネタハックを今日は書いてみます。

■ PukiWiki最新記事ブロックで、階層化された英語ページ名を折り返しできるようにする
PukiWiki はページ名を / で区切ると仮想的に階層とみなすローカルルールがあります。
これを利用して階層化したページを作成すると、階層の深さに比例してページ名が長くなります。

例)
XOOPSCubeLegacy/BasicTutorial/GettingStarted

このような長いページ名がある状態で PukiWiki 最新記事ブロックを左ブロックに出すと、改行されずレイアウトがくずれてしまいます。

そこで、PukiWiki 最新記事ブロックで / の前後に半角スペースを入れるハックです。

pukiwiki/blocks/block_function.php 54 行目あたり

$retval .= $sep.$link;
を
$retval .= \' \'.$sep.\' \'.$link;
にするだけです。

実例は http://xoopscube.org/ の左ブロックをご覧ください。

■ Wordpress の最新コメントブロックで強制折り返しする
スタッフ BLOG の左ブロックに wordpress の最新コメントブロックを表示させているのですが、コメント冒頭に URL を記述されたときに折り返されずに表示されるためレイアウトが崩れるという症状が発生しました。

そこで、コメントに決まった文字数で強制的に
を入れるハックです。

強制改行するためのコードは、zk diary にある、mb_wordwrap を利用させてもらいました。

wordpress/blocks/wp_recent_comments.php の


define( \'WP_RECENT_COMMENTS_INCLUDED\' , 1 ) ;

の下に、
zk diary にある、mb_wordwrap のコードをコピペ。
(ほんとは別ファイルにして preload で読み込みがいいかな)

b_wp_recent_comments_show の


$comment_excerpt = mb_substr($comment_content,0,$comment_lenth);

の下に、

$comment_excerpt = mb_wordwrap($comment_excerpt, 22, \'>br /<\');

を追加。
上記は半角 22 文字で br を挿入するようになってますが、この数字は適当に調整してください。