Home > archives > エントリー本文をインデントするHook

エントリー本文をインデントするHook

wp.vicuna移植に向けていろいろメモメモ。

気がついたら<!–more–>なんてのがあったよ。
これを挿入すれば、それ以後は追記行として扱われるみたい。
でも、p.continueからa.more-linkってなってしまうみたい。ありゃ。

functions.phpに、独自に追加した関数なんかがあったので見てみた。
ここにいろいろ書けば、プラグインを用意しなくてもmt.vicunaに近づけられるのかな。

とりあえずエントリー本文をインデントするHookを書いてみた。

/**
 * エントリー本文にインデントを付加します。
 */
function indent_entry_body($content) {
    // インデント数 (div.textBody p から見て)
    $indent = '5';

    if ($indent != '') {
        $indent = (int) $indent;

        for ($i = 0; $i < $indent; $i ++)
            $indentText .= "\\t";
    } else {
        $indentText = "\\t\\t\\t\\t";
    }

    $pre_flag = false;
    $arr_content = split("\\n", $content);

    foreach ($arr_content as $line) {
        if(!$pre_flag) {
            if (strpos($line, "<pre") !== false)
                $pre_flag = true;

            $mes .= $indentText . $line . "\\n";
        }
        else {
            if (strpos($line, "</pre>") !== false)
                $pre_flag = false;

            $mes .= $line . "\\n";
        }
    }

    return rtrim($mes) . "\\n";
}

add_action('the_content', indent_entry_body, 99);

をfunctions.phpに記述すればOK。

Comments:3

wu 07-03-31 (土) 23:53

kzが書いたとおりやったんだけど、Visualモードで書くと正規表現から抜けちゃうね。
あと、wp.Vicuna0.1で追記かいても

が出現しないんだけど、kzなにかいじってやってるの?

wu 07-03-31 (土) 23:54

あれ、タグがサニタイズされた。
<div class=”textBoxy” id=”extended”>
が生成されない。

miniturbo 07-04-02 (月) 15:18

wuさん :
あとはアーカイブスが少ないとき、index.phpの<p class=”archives”></p>の中身が空になってしまうのをどうにかしたいですねー

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://miniturbo.org/2007/03/28/143009/trackback/
Listed below are links to weblogs that reference
エントリー本文をインデントするHook from miniturbo.org

Home > archives > エントリー本文をインデントするHook

Search

Return to page top