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]
と書けば
コードだよ
と、表示してくれる。
他にも色々な言語に対応しているようだ。