为我的wordpress侧栏添加echo给非连接用户

时间:2014-10-12 18:03:07

标签: php wordpress echo sidebar

我有Nice Login Widget,它没有任何非会员(简单访问者)注册页面的链接。我希望可视化侧边栏上的Inscription链接,就在登录小部件下面,但是当有人登录时不再显示!

我的想法是,我将使用echo可视化链接,并通过其css我可以将其定位为绝对。

我对php一无所知,我试图在我的sidebar.ph p文件中添加一些代码,但它不起作用:

sidebar.php是一个经典的twentyeleven主题:

<?php

if ( 'content' != $current_layout ) :
?>
        <div id="secondary" class="widget-area" role="complementary">
            <?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?>

                <?php
                    if ( is_user_logged_in() ) {
                        echo '';
                    else
                        echo '<a class="inscrip-link" href="http://www.igorlaszlo.com/test/register/">Inscription</a>';
                ?>

                <aside id="archives" class="widget">
                    <h3 class="widget-title"><?php _e( 'Archives', 'vihegay' ); ?></h3>
                    <ul>
                        <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
                    </ul>
                </aside>

                <aside id="meta" class="widget">
                    <h3 class="widget-title"><?php _e( 'Meta', 'vihegay' ); ?></h3>
                    <ul>
                        <?php wp_register(); ?>
                        <li><?php wp_loginout(); ?></li>
                        <?php wp_meta(); ?>
                    </ul>
                </aside>

            <?php endif; // end sidebar widget area ?>
        </div><!-- #secondary .widget-area -->
<?php endif; ?>

我在上面代码中添加的代码是:

<?php
    if ( is_user_logged_in() ) {
        echo '';
    else
        echo '<a class="inscrip-link" href="http://www.igorlaszlo.com/test/register/">Inscription</a>';
?>

然后我会将css添加到链接类inscrip-link

.inscrip-link {
position:absolute;
top:300px;
left: 30%;
z-index:1;
}

有人能告诉我怎么做吗? (我也接受更好的解决方案!:))

2 个答案:

答案 0 :(得分:2)

您的代码似乎缺少一些大括号。

<?php
    if ( !is_user_logged_in() ) 
    {
        echo '<a class="inscrip-link" href="http://www.igorlaszlo.com/test/register/">Inscription</a>';
    }
?>

我已经改变了你的代码。当用户未登录时,注册链接将显示。

答案 1 :(得分:0)

最后,我找到了一个更好的解决方案,以便能够将我的链接添加到侧边栏的相对位置...如果有人遇到同样的问题:

  • 我在登录小部件下添加了一个带有我的题词链接(#text-7)的文本小部件。
  • 在sidebar.php中,我添加了一个具有相同id(#text-7)的小部件,当用户登录时,它给身体提供了一个classe(参见下面的php代码)。
  • 在style.css中,我给#text-7小部件添加了样式,当body类“登录”时我显示:none(参见下面的代码)。

PHP

        <aside <?php echo (is_user_logged_in() ? 'class="widget widget_text logged-in"' : ''); ?> id="text-7" class="widget">
            <h3 class="widget-title"></h3>
            <div class="center"><a href="http://www.igorlaszlo.com/test/register/">Inscription</a></div>
        </aside>  

CSS

#text-7 {position:relative;margin: -50px auto 30px;z-index:1;}
.logged-in #text-7 {display: none;}

与我的个人课一起,我还将所有其他类添加到窗口小部件应该具有的窗口小部件(窗口小部件和窗口小部件文本),因为如果没有,它对我不起作用...也许它只是一个“手工”代码但它工作正常!