有没有办法在登录时让我页面上的横幅向下移动这么多指定的像素?
这就是我登录时的样子(当然,顶部的仪表板栏就在那里,几乎可以向下推所有东西(除了我的横幅,因为它绝对定位)。

当然,这就是我没有登录时的样子。

我在wordpress codex上找到了这段代码
<?php
if ( is_user_logged_in() ) {
echo \'Welcome, registered user!\';
} else {
echo \'Welcome, visitor!\';
}
?>
因此,我尝试使用它,并试图告诉wordpress,如果用户登录,则使用此样式显示此横幅,否则使用该样式显示其他横幅。然而,由于我不是一名程序员,这就是我所拥有的一切。
<?php
if ( is_user_logged_in() ) {
<?php the_post_thumbnail();?>
<?php if (function_exists(\'dynamic_sidebar\') && dynamic_sidebar(\'banner-widget\')) : else : ?>
<p><img class="banner" src="<?php bloginfo(\'template_directory\') ?>/img/BANNER1-averylawoffice.jpg" alt="Banner 1"></p>
<?php endif; ?>
} else {
<?php the_post_thumbnail();?>
<?php if (function_exists(\'dynamic_sidebar\') && dynamic_sidebar(\'banner-widget\')) : else : ?>
<p><img class="h3-banner" src="<?php bloginfo(\'template_directory\') ?>/img/BANNER1-averylawoffice.jpg" alt="Banner 1"></p>
<?php endif; ?>
}
?>
但它不起作用。当然
那么,当用户登录时,我该怎么做才能让这个横幅向下移动呢?我是不是走对了方向,只是错过了什么?
SO网友:mrwweb
这实际上只是一个CSS问题。管理栏尽其所能为所有站点做到这一点,为<html>
要素:
margin-top: 28px !important;
但是,如果主题使用某些定位方法,那么该规则将不会产生预期效果,这就是您的情况。
根据您所说的,这可能会解决问题:
body { position:relative; }
此外,WordPress还添加了一个。管理栏类
<body>
如果您正在使用
body_class()
, 因此,您可以将其用作选择器来解决此问题:
.admin-bar #my-logo { top: 28px; }
不管怎样,这都是一个CSS问题,而不是PHP问题。实际的CSS解决方案与本网站无关,所以我会让你听听,你可以找到答案。