現在のページの祖父母とすばらしい祖父母のIDを取得するために、次のコードを使用しています。
<?php
$current = get_post($post->ID);
$grandparent = $current->post_parent;
$greatGrandparent = $grandparent->post_parent;
?>
<h2>$current: <?php echo $current->ID; ?></h2>
<h2>$grandparent: <?php echo $grandparent->ID; ?></h2>
<h2>$greatGrandparent: <?php echo $greatGrandparent->ID; ?></h2>
しかし、それらをエコーしようとすると、現在のページの値しか得られません。
$現在:335
$祖父母
$ greatGrandparent:
私は実際にすばらしい/祖父母のページを持っているページを見ているのです...誰かが私が間違っていることを見ることができますか?
ちょっとしたエラーです。親オブジェクトと祖父母オブジェクトを取得するには、それらもget_postする必要があります。プロパティ "post_parent"はあなたにその投稿のIDを与えるだけで、post_object自体は与えません。
だからあなたはこのようにあなたのコードを変更します:
<?php
$current = get_post($post->ID);
//Conditional to be sure there is a parent
if($current->post_parent){
$grandparent = get_post($current->post_parent);
//conditional to be sure there is a greatgrandparent
if($grandparent->post_parent){
$greatGrandparent = get_post($grandparent->post_parent);
}
}
?>
<h2>$current: <?php echo $current->ID; ?></h2>
<?php if($grandparent){ ?>
<h2>$grandparent: <?php echo $grandparent->ID; ?></h2>
<?php if($greatGrandparent){ ?>
<h2>$greatGrandparent: <?php echo $greatGrandparent->ID; ?></h2>
<?php } } ?>
そして、すべてが大丈夫です!