infomation
更新履歴
お勧め・人気記事
-
WordPressのプラグイン「SimpleTags」をPHP4でも使えるようにしてみる +α
最近WordPressネタ多い気がするかもしれませんが、
それは気のせいです。前置きが長いので、さっさと読みたい方は "...more" からどうぞ
このブログ、少し前まで一回もVerUPした事がなかったのですが、
この間、初めて、してみました。(確か)2.3→2.7.1です。作業は簡単でしたし、VerUP後も殆ど問題はなかったのですが、
唯一、タグの所が上手く動いてくれなかったんですね。んで、Ultimate Tag Warrior を止め、Simple Tagsに乗り換えました、
これも順調だったのですが、関連タグを表示させようとすると、
なんかエラーが出て動かない。WPのVerが2.7なのがいけないのか、
とか調べてみたけど、どれも違いそう、で、色々と検索しているうちに掛かったのがこれ↓
Simple Tagsのst_related_tags()とst_remove_related_tags()の設置方法
どうもPHP5では動くらしい、で、ふと
array_intersect_keyがどうのこうの言ってたんで、
検索してみるとどうもPHP5からの関数みたいです、・・なんですぐ気付かなかったんだろ、、、、
てかReadMeにちょろっと書いといてくれればいいのに、、、まあとにかく、動かないと少し困るので、今回は
それをPHP4でも動くように弄ってみようかと思います。
(ここまで前振り)◆対象
- WordPress Ver 2.7
- Simple Tags Ver 1.6.5
- PHP 4
追記:Simple Tags Ver 1.6.6が出ましたが、
更新内容を見る限りではそのまま使えるかと思います。◆解決法
/simple-tags/2.7/simple-tags.client.php
の1030行目辺りの$all_related_tags = array_intersect_key($all_related_tags, array_unique(array_map('serialize', $all_related_tags))); // Exclude current tags foreach ( (array) $all_related_tags as $tag ) { if ( !in_array($tag->slug, $current_slugs) ) { $related_tags[] = $tag; } }を
foreach($all_related_tags as $tag){ $only_tag = true; foreach($related_tags as $tag_test){ if($tag_test == $tag){ $only_tag = false; break; } } if($only_tag === true){ $related_tags[] = $tag; } }に変える。
元のソースの意味、まだ今一分かってないんですが、、まあ一応このブログでは動いているんで大丈夫じゃないかと思います、
diff,patchが扱える方はhttp://w3-info.net/files/modification/simple-tags/diff0.patch
をどうぞ◆おまけ
触ってたら改造したくなったので欲しい機能をいくつか追加してみました。
http://w3-info.net/files/modification/simple-tags/simple-tags.client.php.txt
- タグ一覧が選択タグで絞り込まれるように(これは別のところから持ってきたもの
- 絞り込まれたタグとそれ以外の標準で表示されるタグを別の書式で表示されるように
- %tag_link_add_and% %tag_link_add_or% が使えるように
(元の%tag_link_add%は廃止)
最初のはSimple Tags プラグインのタグ絞り込みのバグ修正
を参考、もといほぼ丸パクリ状態、二つ目の"それ以外の標準で表示されるタグ"の書式は
920行目辺りにxformat_diffってのが新しく出来ているんでそこを弄るpatchファイル:http://w3-info.net/files/modification/simple-tags/diff1.patch
出来れば%tag_count%で表示される数も絞り込んだ数にしたかったんですが、
DB扱う知識が殆どないので断念、
ちなみに*と+は積集合、和集合からだったり(どーでも◆関連する投稿
-
コメントはまだありません »
このエントリーにはまだレスポンスがありません。
コメントをどうぞ
