php - 如何在WordPress主题的不同页面上显示不同的 Logo ?

标签 php css wordpress themes wordpress-theming

这里是显示我当前使用的 WordPress 主题上的标题部分的代码。

<div id="site-branding" class="clearfix">
        <?php
        $logo = isset($options['logo'])? $options['logo']: '';
        if ($logo == ""){
            $hidetitle = $options['hide_title'];
            if ($hidetitle == "No") {

                if(!is_home() || !is_front_page()) { ?>
                    <div class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><?php bloginfo('name'); ?></a></div>
                    <div class="site-description"><?php bloginfo('description'); ?></div>
                <?php } else { ?>
                    <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><?php bloginfo('name'); ?></a></h1>
                    <div class="site-description"><?php bloginfo('description'); ?></div>

            <?php } }
        } else {
            echo '<div class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
            echo '<img title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
            echo '</a></div>';
        } ?>
    </div><!-- end #site-branding -->

此代码的第一部分检查 Logo 是否存在。如果 Logo 不存在,它将仅显示主题的名称和描述,前提是未在主题选项中选中隐藏。它将在主页/首页上设置名称和描述的样式略有不同,而在其他页面上设置不同的样式。但是,如果存在 Logo ,它将在所有页面上显示 Logo 。

现在我想要实现的是在首页/主页上对 LOGO 进行不同的样式(使用 CSS),而在其他页面上我想向 Logo 添加一些额外的 css 类。

我尝试在上面代码的第二部分中使用 elseif 语句,但无法获得所需的结果。

请建议我如何正确地做到这一点。

更新: 因为我无法发布自己问题的答案,所以我在这里发布。 好吧,我在删除了一些 PHP 结束元素后使用了这段代码,它的工作方式就像魅力一样。我再次将其发布在这里只是为了确保没有错误。

if(is_home() || is_front_page()) {
        echo '<h1 class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
        echo '<img calss="mylogo1" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
        echo '</a></h1>';
             } else {
        echo '<div class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
        echo '<img calss="mylogo2" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
        echo '</a></div>';
        } ?>

最佳答案

if(!is_home() || !is_front_page()) { ?>
    echo '<div class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
    echo '<img calss="mylogo1" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
    echo '</a></div>';
<?php } else { ?>
    echo '<div class="site-logo"><a href="'. esc_url( home_url( '/' ) ) .'">';
    echo '<img calss="mylogo2" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
    echo '</a></div>';
<?php } ?>

与您之前使用的相同,为您的每个条件设置不同的类(即 mylogo1/mylogo2)。

关于php - 如何在WordPress主题的不同页面上显示不同的 Logo ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10715502/

相关文章:

php - 我正在尝试生成 .sql 转储文件并使用 php 自动下载

php - 拒绝解锁 exolnet/deprecated 因为它包含以下已安装的公式或木桶 :

jquery - 当悬停在另一个 div 上时让 span 消失

html - 为什么打开一个宽度为480px的网站会有空白?

php - 如何使用 Wordpress 内联整个样式表的内容?

php - Wordpress 同名的两个主题

wordpress - 将联系表单 7 的警报移至 WordPress 表单顶部

php - Laravel Socialite - 在重定向之前保存 URL

php - mysql插入通知: Array to string conversion

php - 如何从存储在数据库中的图像中获取图像的高度和宽度?