添加主题支持自定义页眉是否会隐藏文本?

时间:2013-03-01 作者:Dejo Dekic

我对add_theme_support(\'custom-header\'); 我可以更改标题文本的颜色,但如果我在管理面板中未选中“使用图像显示标题文本”,则无法隐藏标题文本(如果未选中,显然应该隐藏标题文本)。我不知道我应该添加一些特定的CSS来工作,还是必须更改我的函数。php?有什么想法或建议吗?我的职能。php for header支持如下所示:

//Code for custom header support
$defaults = array(
\'default-image\'          => \'\',
\'random-default\'         => false,
\'width\'                  => 750,
\'height\'                 => 100,
\'flex-height\'            => true,
\'flex-width\'             => true,
\'default-text-color\'     => \'#FF0000\',
\'header-text\'            => true,
\'uploads\'                => true,
\'wp-head-callback\'       => \'\',
\'admin-head-callback\'    => \'\',
\'admin-preview-callback\' => \'\',
);
add_theme_support( \'custom-header\', $defaults );
CSS如下所示:

a:link, a:visited{
text-decoration: none; 
color: #000000;
}

a:hover{
color: #5f5f5f;
}

h1{
  font-size: 54px;
}

#header  h1{
position:absolute;
z-index:1;
padding:0px;
margin:0px;
}

4 个回复
最合适的回答,由SO网友:Dejo Dekic 整理而成

我已将此代码添加到标题中。php和它工作得很好:

#header a{
<?php if(get_header_textcolor()==\'blank\') { 
echo \'visibility: hidden;\'; } else { 
?> 
color:#<?php echo get_header_textcolor();  } ?>
}

SO网友:Eric Holmes

很可能,您使用的主题在放入站点标题和描述时没有考虑自定义标题设置。

我建议(如果您熟悉PHP的话)创建一个儿童主题(as described here) 对于主题,请复制标题。将php添加到子主题中,并删除/更改放置在站点标题中的区域。

有关WordPress基础知识的更多精彩提示,同一个人在他的24 Days of WordPress series.

SO网友:T.Todua

@这个解决方案有效!例如,如果仅在启用(检查)标题文本时才需要显示标题文本,请在标题中显示。php您应该有如下代码:

<?php if(get_header_textcolor()!=\'blank\') { ?>
<!-- here is just a good example of a normal header text -->
<a href="<?php echo home_url();?>" style="position:absolute;top:100px;left:20px;color:#<?php echo get_header_textcolor();?>!important;"><?php bloginfo(\'name\');?></a>
<?php } ?>

SO网友:maioman

Dejo的解决方案可行,但不放置h1和h2标签对SEO不利_

这就是为什么正常的WP安装只是把它隐藏起来,让它留在原来的位置,这样蜘蛛就可以看到它;

例如:Twenty14主题依赖filteringCSS隐藏标题文本,请查看自定义标题。php(第69行-第214行)

    // Has the text been hidden?
    if ( ! display_header_text() ) :
?>
    .site-title,
    .site-description {
        clip: rect(1px 1px 1px 1px); /* IE7 */
        clip: rect(1px, 1px, 1px, 1px);
        position: absolute;
    }
<?php
    // If the user has set a custom color for the text, use that.
    elseif ( $text_color != get_theme_support( \'custom-header\', \'default-text-color\' ) ) :
?>
    .site-title a {
        color: #<?php echo esc_attr( $text_color ); ?>;
    }
<?php endif; ?>
因此,如果要使用此函数,请向右放置。网站标题(&;)。站点描述标记(如果您不知道,请查看twenty14 header.php)_

顺便说一句,使用clip:rect(1px,1px,1px,1px)就像在一个没有高度和宽度的矩形屏幕上看东西一样,(棒极了!!!)_

结束

相关推荐