我有两种类型的投资组合帖子:父帖和子帖。当显示作为父母的单个帖子时,我想要显示:
@ECHO OFF
UNSET JAVA_TOOL_OPTIONS
::----------------------------------------------------------------------
:: IntelliJ IDEA startup script.
::----------------------------------------------------------------------
在儿童帖子上,我想要显示上面的略有变化。
现在,我使用它来显示所有单个帖子页面上的菜单,无论它们是父帖还是子帖:
<div class="col-1 art-singles art-controls">
<?php next_post_link('%link', '←'); ?>
<a href="<?php get_home_url(); ?>/work" alt="all work">All</a>
<?php previous_post_link('%link', '→'); ?>
<a href="#" alt="enlarge image" class="enlarge-it"><p style="text-transform: none;">Enlarge</p></a>
</div>
我很难理解如何区分单亲帖子和单子帖子。
我已经尝试过以这种方式重新制作它以显示父帖:
<?php if ( is_single() ) : ?>
<div class="col-1 art-singles art-controls">
<?php next_post_link('%link', '←'); ?>
<a href="<?php get_home_url(); ?>/work" alt="all work">All</a>
<?php previous_post_link('%link', '→'); ?>
<a href="#" alt="enlarge image" class="enlarge-it"><p style="text-transform: none;">Enlarge</p></a>
</div>
<?php endif; ?>
这只是导致内容在父或子单个帖子上根本不显示。
简而言之:我是否可以添加到if语句中以仅显示父单个帖子上的div?我可以添加一些东西,只显示儿童单个帖子上的div?
答案 0 :(得分:0)
您可以在functions.php中使用此is_tree()
函数:
/**
* @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;
};
然后在你的模板中调用它:
// Use
if ( is_tree($post_id) ) {
// do stuff
}