我有以下php功能:
if ( ! function_exists('meteorite_sitebranding') ):
function meteorite_sitebranding() {
$logo_light = get_theme_mod( 'logo_light', '' );
$has_custom_logo = has_custom_logo();
if ( $has_custom_logo || $logo_light) {
if ( function_exists( 'the_custom_logo' ) && has_custom_logo() && is_front_page() || is_home() ) {
the_custom_logo();
}
elseif ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) {
echo '<a href="' . esc_url( home_url( '/' ) ) . '" rel="home"><img src="logo_color.png" class="custom-logo" alt="Auplo" itemprop="logo" /></a>';
}
elseif ( $logo_light ) {
echo '<a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr(get_bloginfo('name')) . '"><img class="site-logo light" src="' . esc_url($logo_light) . '" alt="' . esc_attr(get_bloginfo('name')) . '" /></a>';
}
} else {
echo '<div class="site-brand">';
if ( is_front_page() && is_home() ) :
echo '<h1 class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . get_bloginfo('name', 'display') . '</a></h1>';
else :
echo '<p class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . get_bloginfo('name', 'display') . '</a></p>';
endif;
echo '<p class="site-description">' . get_bloginfo('description', 'display') . '</p>';
echo '</div>'; // /.site-brand
}
}
endif;
该功能运作良好。但我想微调一下。我的问题与部分有关:
if ( function_exists( 'the_custom_logo' ) && has_custom_logo() &&
is_front_page() || is_home() )
我如何在声明中添加OR is_page(&#39; destination&#39;)的条件并包含该页面的所有子节点?所以例如我有页面
目的地 +纽约 +华沙 +都柏林 +迪拜
我希望涵盖所有这些页面。我尝试过这样的事情:
|| is_page(&#39; destination&#39;)|| is_child(&#39;目的地&#39;)但只是它不起作用..
谢谢!
答案 0 :(得分:1)
你可以用这个
function is_child($pageID) { // In functions.php
global $post;
if( is_page() && ($post->post_parent==$pageID) ) {
return true;
} else {
return false;
}
}
if(is_child(123)) { // in your template
echo "Child page of 123";
}