2017-04-06 10 views
1

私は親投稿と子供投稿の2種類のポートフォリオ投稿を持っています。親である単一のポストを表示する場合、私はディスプレイにこれをしたい: PHPが親投稿のdivのみを表示する

   <div class="col-1 art-singles art-controls"> 
        <?php next_post_link('%link', '←'); ?> &nbsp; 
        <a href="<?php get_home_url(); ?>/work" alt="all work">All</a>&nbsp; 
        <?php previous_post_link('%link', '→'); ?> 
        <a href="#" alt="enlarge image" class="enlarge-it"><p style="text-transform: none;">Enlarge</p></a> 
       </div> 

が子ポストに、私は上記のわずかな変動は表示したいときに。

今、私は関係なく、彼らは親柱や子柱であるかどうかの、ALL単一投稿ページにメニューを表示するためにこれを使用しています:

<?php if (is_single()) : ?> 

<div class="col-1 art-singles art-controls"> 
    <?php next_post_link('%link', '←'); ?> &nbsp; 
    <a href="<?php get_home_url(); ?>/work" alt="all work">All</a>&nbsp; 
    <?php previous_post_link('%link', '→'); ?> 
    <a href="#" alt="enlarge image" class="enlarge-it"><p style="text-transform: none;">Enlarge</p></a> 
</div> 

<?php endif; ?> 

私は違いを作る方法についての困惑単一の親記事と単一の子投稿の間に

私はすでにそれを単に親柱の上に表示する場合は、この方法を作り直してみました:

<?php if($post->post_parent != 0) { 

    echo "<?php next_post_link('%link', '←'); ?>"; 
    echo "&nbsp;"; 
    echo "<a href='"; 
    get_home_url(); 
    echo "/work' alt='all work'>All</a>"; 
    echo "&nbsp;"; 
    echo "<?php previous_post_link('%link', '→'); ?>"; 
    } 
    ?> 

これは単にコンテンツが親または子の単一のポストにまったく表示されないために発生します。

短く: if文に追加して、親の単一投稿にのみdivを表示できるものはありますか?子供のシングル投稿のみにdivを表示するために追加できるものは何ですか?

/** 
* @param [pid] The ID of the post to check 
* @return boolean 
*/ 
function is_tree($pid) { 
    global $post; 
    $cpid = get_the_ID(); 
    $parents = get_post_ancestors($post->ID); 
    $ancestorid = ($parents) ? $parents[count($parents)-1]: $post->ID; 
    if(($post->post_parent == $pid || $cpid == $pid || $ancestorid == $pid)) 
     return true; 
    return false; 
}; 

そして、そのようなあなたのテンプレートでそれを呼び出す:

+0

あなたの問題に。しかし、私はあなたのコードがアンカーラインを破っていることを少なくとも見ています。私はあなたのコードでやろうとしていることは 'echo 'All'であるべきだと思います。 – hcheung

答えて

0

あなたのfunctions.phpにこのis_tree()機能を使用することができるかもしれない。これはあなたの問題または関連を解決しないかもしれない

// Use 
if (is_tree($post_id)) { 
    // do stuff 
} 
関連する問題