カレンダー
2010年2月
« 1月   7月 »
1234567
891011121314
15161718192021
22232425262728
カテゴリー
アーカイブ

Archive for 2月, 2010

PC買ってしまった

もう昨年の年末ぐらいから、ずっとPC組みたいと思って
何十回もネットショッピング上で構成だけ考えていたのだが 遂に買ってしまった。
組むこと自体は2ヶ月前ぐらいに友人のPCを組んだのだが、自分のPCは3年ぶり

構成

  • CPU:  Intel Corei7-860
  • Mother:  ASUS  P7P55D
  • memory:  UMAX Cetus DCDDR3-4GB-1333 (2GBx2)
  • HDD:  SAMSUNG HD502HI(500GB/SATA)
  • GPU:  HIS  H577FM1GD  RADEON HD 5770
  • 光学ドライブ:  LG電子  BH10NS30 BL(ブルーレイ書き込み10倍速)
  • 地デジチューナー:SKNET  SK-MTVHDPG
  • PCケース:  Antec  Three Hundred
  • 電源:アクティス  AP-650GTX/P

 

wp_list_pages関数exclude_treeの複数指定

wp_list_pagesの引数でexclude_treeというバラメータがある。

これを指定すると、そのページIDを親とする子ページもすべて除外してくれる。

カンマで複数指定可能とwordpress.日本語のドキュメントなどでは書かれているのだが、
複数指定をしても、最初に指定したIDしか適用されなかった。

指定の仕方が悪いのか?と色々試したが適用されず・・・。

仕方が無いので中身を見てみた。

wp-admin/post.phpの2603行目あたり

wp-include/post.phpの
function &get_pages($args = ”)
関数内(Ver3.0の場合 3197行あたり)

$exclude = (int) $exclude_tree;
$children = get_page_children($exclude, $pages);
$excludes = array();
foreach ( $children as $child )
    $excludes[] = $child->ID;
$excludes[] = $exclude;
$num_pages = count($pages);
for ( $i = 0; $i < $num_pages; $i++ ) {
    if ( in_array($pages[$i]->ID, $excludes) )
        unset($pages[$i]);
}


 

・・・文字列をそのままintにキャストしてるじゃんorz
それじゃ、カンマ区切りで渡してもキャストしたら最初の値のみになるわな^^;
って、事で以下のように修正(ホントは本体なので修正したくないのだが・・・)

$excludelist = preg_split('/[\s,]+/',$exclude_tree);
if ( count($excludelist) ) {
    $excludes = array();
    foreach ( $excludelist  as $excludestr ) {
        $exclude = intval($excludestr);
        $children = get_page_children($exclude, $pages);
        foreach ( $children as $child )  {
            $excludes[] = $child->ID;
        }
        $excludes[] = $exclude;
    }
    $num_pages = count($pages);
    for ( $i = 0; $i < $num_pages; $i++ ) {
        if ( in_array($pages[$i]->ID, $excludes)  )
            unset($pages[$i]);
    }
}


 

これで複数指定できるようになった♪

2010/7/5 追記
WordPress3.0jaでも上記は未修正でした。。。
あと一部に記載ミスがあったので修正しました(赤字部分)

ソースコードを綺麗に表示するプラグイン

ソースコードを綺麗に表示させるプラグインを入れてみた。

[php]コードだよ[/php]

と書けば

コードだよ

と、表示してくれる。

他にも色々な言語に対応しているようだ。