CSSが得意な渋谷のウェブデザイナーのウェブ開発メモ

[PR] Another American Dictionary Spanglish with us!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Wordpress:固定ページの親IDを取得

やり方①

pageにでるファイルに直接書けば $thePostID の中に親IDが入る。

<?php
global $post;
global $wp_query;
if ($post->post_parent != 0){
    $thePostID = $post->post_parent;
}else{
    $thePostID = $wp_query->post->ID;
}
?>

参照:Parent page ID

やり方②

親がいる場合の条件で取得するやり方。$post->post_parent の中身が親ID。

<?php
function is_subpage() {
    global $post;
    if ( is_page() && $post->post_parent ) {
        return $post->post_parent;
    } else {
        return false;
    }
}
?>

参照:Get parent page ID if exists

やり方③

functions.php の中に下のコードを付け足せば

<?php
function get_top_parent_page_id() {
    global $post;
    $ancestors = $post->ancestors;
    if ($ancestors) {// 固定ページが子であるかどうかをチェック
        return end($ancestors); //一番上の階層の親のIDを取得
    } else { // 固定ページが親である場合は自分のそのID
        return $post->ID;
    }
}
?>

このコードで実際の固定ページファイル内で取得できる。

<?php
echo get_top_parent_page_id($post->ID);
?>

参照:How To Get Top Parent Page ID In WordPress

関連記事
この記事役にたった?
管理者にだけメッセージを送る

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。