У меня есть 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 ( '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 ( '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; }
Может ли кто-нибудь сказать мне, как это сделать? (Я тоже принимаю лучшее решение! :))
Кажется, что в вашем коде отсутствует несколько фигурных скобок.
<?php if ( !is_user_logged_in() ) { echo '<a class="inscrip-link" href="http://www.igorlaszlo.com/test/register/">Inscription</a>'; } ?>
Я немного изменил код. Ссылка на регистрацию будет отображаться только тогда, когда пользователь не войдет в систему.
Наконец, я нашел лучшее решение для моего дела, чтобы иметь возможность добавить ссылку с относительным положением к боковой панели … если у кого-то такая же проблема:
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;}
Вместе с моим личным классом я также добавил все другие классы к виджету, который должен иметь виджет (виджет и widget_text), потому что если нет, это не сработало для меня … может быть, это просто «ручной» код, но он работает хорошо!