0

functions.phpページ テンプレートまたは子ページの場合は親ページ テンプレートに応じて、特定の ID を body タグに追加する関数を開発しました。

function get_body_id() {

    global $post;
    $parents = get_post_ancestors( $post->ID );
    $parent_id = ($parents) ? $parents[count($parents)-1]: $post->ID;

    $temp = get_page_template_slug($parent_id);
    $path = pathinfo($temp);
    $temp = $path['filename'];

    switch ( $temp ):
        case 'page-recipe-landing':
            $id = 'bg-green';
            break;

        case 'page-home':
        default:
            $id = 'bg-pink';
            break;
    endswitch;

    echo "id='".$id."'";
}

これはページとその子に対してはうまく機能しますが、私のカスタム投稿タイプのイベント/ニュースとレシピでは、明らかに何も返されませんget_post_ancestors( $post->ID ).

これらのカスタム投稿タイプに対応したり、カスタム投稿タイプを特定の「ページ」に割り当てたりするために関数を変更する方法はありますか?

これについて助けてくれてありがとう。

4

1 に答える 1

0
<?php
    if(empty($parents)) {
        $loop = new WP_Query(array('post_type' => 'NAME_OF_TYPE', 'post_status' => 'publish'));
        while($loop->have_posts()): $loop->the_post();
            the_ID();
        endwhile;
    }
?>

このコードは、少なくともカスタム タイプの各投稿の ID を出力する必要がありNAME_OF_TYPEます。それらを配列に格納してそこから操作したい場合、前提はほとんど同じです。コードをテストしていませんが、カスタム投稿タイプで動作するはずです。

于 2012-11-02T17:25:25.207 に答える