如果已设置自定义徽标,则删除网站标题和网站说明 - Wordpress

时间:2016-09-14 11:56:40

标签: php wordpress

如果设置了自定义徽标,如何删除网站标题和网站描述?

我添加了在Wordpress自定义程序中选择自定义徽标的选项,但现在我正在努力隐藏标题和说明。

关于描述的底部代码应该以某种方式添加到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 -->

简而言之:网站应显示徽标或标题+说明。

我仍然非常陌生,任何帮助或建议都会受到赞赏。

编辑:

到目前为止,我真的很感激帮助,但我似乎给了你错误的想法。我已经有自定义徽标了。我可以毫无问题地添加并保存在定制器中,我也可以在网站上替换网站标题。因此,获取徽标来替换网站标题不是问题所在。我还希望它取代我所在的网站描述(因此徽标取代了标题和描述)。

2 个答案:

答案 0 :(得分:1)

如果要打印/回显结果,请使用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
    }
?>

答案 1 :(得分:0)

我可能会弄错,但你有一个矛盾的说法。

} 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
    } ?>