functions - if父母和子女的陈述

时间:2017-07-24 10:25:56

标签: wordpress function parent-child parent

我有以下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;)但只是它不起作用..

谢谢!

1 个答案:

答案 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";
}