Добавить echo на боковую панель wordpress для пользователей, не подключенных к сети

У меня есть 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>'; } ?> 

Я немного изменил код. Ссылка на регистрацию будет отображаться только тогда, когда пользователь не войдет в систему.

Наконец, я нашел лучшее решение для моего дела, чтобы иметь возможность добавить ссылку с относительным положением к боковой панели … если у кого-то такая же проблема:

  • Я добавил текстовый виджет с моей ссылкой надписи (# text-7) под своим виджнем входа.
  • В sidebar.php я добавил виджет с тем же идентификатором (# text-7), который дает класс в тело, когда пользователи регистрируются (см. Коды php ниже).
  • В style.css я даю стиль виджетам # text-7, и я показываю: 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;} 

Вместе с моим личным классом я также добавил все другие классы к виджету, который должен иметь виджет (виджет и widget_text), потому что если нет, это не сработало для меня … может быть, это просто «ручной» код, но он работает хорошо!