Home > WPメモ > 凡ミスで何時間も悩むと死にたくなる

凡ミスで何時間も悩むと死にたくなる

Executable PHP widgetのウィジェット上で$postを使うとバグる。
fanction hogehoge($post)としても正常に呼び出せない。
条件分岐タグはうまくいくのに。

このせいで2時間ぐらい無駄に悩んでしまったし、出来そうなコードを無理だと思っていくつか破棄してしまった。
ほんと罠である。死にたい。

用途は分からないけど、親ではなく子(2階層目)のIDを取得する方法

さて、今日WordPressのフォーラムで書いた内容をちょっとだけメモします。

元記事はこちら

PHP:
  1. function ps_get_root_page( $cur_post, $cnt = 0 ) {
  2.     if ( $cnt> 100 ) { return false; }
  3.     $cnt++;
  4.     $post_temp = get_post( $cur_post->post_parent );
  5.     if ( $cur_post->post_parent == 0 ) {
  6.         $root_page = $cur_post;
  7.     } elseif ( $post_temp->post_parent == 0 ) {
  8.         $root_page = $cur_post;
  9.     } else {
  10.         $root_page = ps_get_root_page( get_post( $cur_post->post_parent ), $cnt );
  11.     }
  12.     return $root_page;
  13. }

$root_page->IDで子のpageIDが取得できます。

この挙動はかなりややこしくて、文章で説明するのは困難なのですが、
例えばゲームメーカー(親)-スクエニなど(子)-ドラクエなど(孫)-シリーズタイトル(曾孫)という関係があったとして、
たとえばDQ4(曾孫)とかを表示してるとき

スクエニ(子)以下のページ、つまりドラクエ(孫)やDQ1(曾孫)、DQ2(曾孫)、FF(孫)、スターオーシャン(孫)などを表示して
任天堂(子)やSCE(子)やSEGA(子)など、およびそれ以下のページ(マリオなど)は表示しない

という動作をさせることが出来る。
元々JSでポップアップツリー表示とかできるから、正直なんに使うのか全然わからないけどね。

ちなみにchild_of=ぐらいしか使いどころないと思うけど、child_ofだとそのID自体のページはリスト化されないので、
リストに子も含めたければ、別途$root_page->IDで各種情報を取得して記述してあげる必要があります。

参考にしたのはこの質問

get_post_ancestors()を使いたかったんだけど、多分この仕様じゃ使えないんじゃないかと思う。

コメント:1

****** 11-11-20 (日) 15:59
このコメントは管理者の承認待ちです
コメントフォーム
Remember personal info

トラックバック:40

このエントリーのトラックバックURL
http://toratama.sakura.ne.jp/nawo/2010/03/14/77/trackback/
Listed below are links to weblogs that reference
凡ミスで何時間も悩むと死にたくなる from Seasonism Season3
****** 13-06-17 (月) 4:01
このコメントは管理者の承認待ちです
****** 13-10-19 (土) 23:07
このコメントは管理者の承認待ちです
****** 13-10-24 (木) 11:08
このコメントは管理者の承認待ちです
****** 13-10-31 (木) 15:54
このコメントは管理者の承認待ちです
****** 13-10-31 (木) 17:39
このコメントは管理者の承認待ちです
****** 13-11-02 (土) 5:39
このコメントは管理者の承認待ちです
****** 13-11-02 (土) 18:54
このコメントは管理者の承認待ちです
****** 13-11-02 (土) 23:01
このコメントは管理者の承認待ちです
****** 13-11-03 (日) 3:11
このコメントは管理者の承認待ちです
****** 13-11-04 (月) 20:14
このコメントは管理者の承認待ちです
****** 13-11-05 (火) 4:28
このコメントは管理者の承認待ちです
****** 13-11-05 (火) 12:49
このコメントは管理者の承認待ちです
****** 13-11-06 (水) 0:49
このコメントは管理者の承認待ちです
****** 13-11-06 (水) 9:25
このコメントは管理者の承認待ちです
****** 13-11-06 (水) 11:55
このコメントは管理者の承認待ちです
****** 13-11-06 (水) 18:43
このコメントは管理者の承認待ちです
****** 13-11-06 (水) 20:50
このコメントは管理者の承認待ちです
****** 13-11-07 (木) 10:15
このコメントは管理者の承認待ちです
****** 13-11-13 (水) 7:47
このコメントは管理者の承認待ちです
****** 13-11-15 (金) 18:03
このコメントは管理者の承認待ちです
****** 13-11-29 (金) 18:38
このコメントは管理者の承認待ちです
****** 13-12-06 (金) 2:52
このコメントは管理者の承認待ちです
****** 13-12-09 (月) 2:28
このコメントは管理者の承認待ちです
****** 13-12-10 (火) 12:01
このコメントは管理者の承認待ちです
****** 13-12-10 (火) 18:26
このコメントは管理者の承認待ちです
****** 13-12-11 (水) 0:35
このコメントは管理者の承認待ちです
****** 13-12-16 (月) 6:43
このコメントは管理者の承認待ちです
****** 13-12-17 (火) 2:50
このコメントは管理者の承認待ちです
****** 13-12-19 (木) 11:11
このコメントは管理者の承認待ちです
****** 13-12-20 (金) 8:58
このコメントは管理者の承認待ちです
****** 13-12-21 (土) 8:05
このコメントは管理者の承認待ちです
****** 13-12-22 (日) 3:54
このコメントは管理者の承認待ちです
****** 13-12-23 (月) 5:41
このコメントは管理者の承認待ちです
****** 13-12-24 (火) 0:50
このコメントは管理者の承認待ちです
****** 13-12-28 (土) 9:00
このコメントは管理者の承認待ちです
****** 13-12-30 (月) 0:42
このコメントは管理者の承認待ちです
****** 13-12-30 (月) 20:03
このコメントは管理者の承認待ちです
****** 14-01-10 (金) 5:57
このコメントは管理者の承認待ちです
****** 14-01-12 (日) 4:45
このコメントは管理者の承認待ちです
****** 14-01-13 (月) 6:54
このコメントは管理者の承認待ちです

Home > WPメモ > 凡ミスで何時間も悩むと死にたくなる

カテゴリー
タグクラウド
アーカイブ
RSS トラたま袋の新着
フィード

Return to page top