删除网站标题和网站描述,如果一个自定义的标志已经设置- Wordpress


Remove site title and site description if a custom logo has been set - Wordpress

一旦设置了自定义徽标,如何删除站点标题和站点描述?

我已经在Wordpress定制器中添加了选择自定义徽标的选项,但现在我正在努力与php试图隐藏标题和描述。

底部关于描述的代码应该以某种方式添加到if/else语句中,该语句已经删除了站点标题,但我不确定如何添加。

<div class="site-branding">
        <?php
        if(the_custom_logo) {
            the_custom_logo();
        }   elseif ( is_front_page() && is_home() ) { ?>
            <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
        <?php } else { ?>
            <p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
        <?php
        }

编辑:一旦设置了自定义徽标,上面的代码就会删除站点标题。

下面是覆盖站点描述的代码。我不确定我应该以什么方式改变这段代码,告诉它丢失时,一个自定义的标志已经设置,就像网站的标题。

        $description = get_bloginfo( 'description', 'display' );
        if ( $description || is_customize_preview() ) { ?>
            <p class="site-description"><?php echo $description; /* WPCS: xss ok. */ ?></p>
        <?php
        } ?>
    </div><!-- .site-branding -->

所以简而言之:网站应该显示徽标或标题+描述。

我对php还很陌生,希望能得到任何帮助或建议。

编辑:

到目前为止,我真的很感谢你的帮助,但是我似乎给了你错误的想法。我已经让我的自定义标志工作。我可以添加和保存它在定制器没有问题,我也得到了它来取代网站上的网站标题。所以用商标代替网站标题并不是问题所在。我还希望它取代网站的描述(所以标志取代标题和描述),这是我卡住的地方。

当您想要打印/回显结果时使用the_custom_logo()。当您想要返回结果时,请使用get_custom_logo()(例如,当您想要将其分配给变量或在条件中使用时)。

<?php
    if( get_custom_logo() ) {
        the_custom_logo();
    } elseif ( is_front_page() && is_home() ) {
        ?>
        <h1 class="site-title">
            <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
        </h1>
        <?php
        $description = get_bloginfo( 'description', 'display' );
    } else {
        ?>
        <p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
        <?php
        $description = get_bloginfo( 'description', 'display' );
    }
    if ( ( isset($description) && $description) || is_customize_preview() ) {
        ?>
        <p class="site-description"><?php echo $description; /* WPCS: xss ok. */ ?></p>
        <?php
    }
?>

我可能搞错了,但你的说法自相矛盾。

} elseif ( is_front_page() && is_home() ) {

is_front_page()用于设置一个页面作为主页,is_home()用于标识该博客页面。

使用:

} elseif ( is_front_page() || is_home() ) {

可能更适合你想要达到的效果。

编辑:

    <?php
    $logoSet = the_custom_logo();
    if($logoSet) {
        the_custom_logo();
    }   elseif ( is_front_page() && is_home() ) { ?>
        <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
    <?php } else { ?>
        <p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
    <?php
    }
    $description = get_bloginfo( 'description', 'display' );
    if ( $description || is_customize_preview() ) { ?>
        <p class="site-description"><?php echo $description; /* WPCS: xss ok. */ ?></p>
    <?php
    } ?>