<?php global $user_ID, $user_identity, $user_level ?> <?php if ( $user_ID ) : ?> ЗДЕСЬ БУДЕТ БЛОК ДЛЯ ТЕХ КТО ЗАШЕЛ НА САЙТ ПОД СВОИМ НИКОМ <?php else : ?> СОДЕРЖИМОЕ ДЛЯ НЕАВТОРИЗОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ <?php if ( get_option('users_can_register') ) : ?> ЕСЛИ ЕСТЬ ВОЗМОЖНОСТЬ РЕГИСТРАЦИИ <?php endif ?> <?php endif; ?>
function author_log() { ?> <? if ( !is_user_logged_in() ): ?> ЗДЕСЬ БУДЕТ БЛОК ДЛЯ ТЕХ КТО НЕ АВТОРИЗИРОВАЛСЯ <? else: ?> ЗДЕСЬ ДЛЯ ТЕХ КТО АВТОРИЗИРОВАЛСЯ <? endif?> <?php }
<?php author_log(); ?>
<div class="cont-side"> <?php global $current_user; get_currentuserinfo(); echo get_avatar( $current_user->user_email, '60' ); ?> <p><span class="name"><?php global $user_login; get_currentuserinfo(); echo $user_login; ?></span> <br /> <a href="<?php bloginfo('url'); ?>/author/<?php echo $current_user->user_login; ?>">Профиль</a> | <a href="<?php bloginfo('url') ?>/wp-admin/profile.php" title="изменить">Изменить</a><br /> <a href="<?php echo wp_logout_url( $redirect ); ?>" title="Выйти">Выйти</a> </p> <div>
<?php global $user_ID; if( $user_ID ) : ?> <?php if( current_user_can('level_10') ) : ?> <li><a href="<?php bloginfo('url') ?>/wp-admin/index.php">Администрирование</a></li> <?php else : ?> <?php endif; ?> <?php endif; ?>
<h2>Авторизация</h2> <form name="loginform-tml-main" id="loginform-tml-main" action="/login/?instance=tml-main&action=login" method="post"> <p><label for="log-tml-main">Логин</label><br /> <input type="text" name="log-tml-main" id="log-tml-main" class="input" size="18" /><p> <p><label for="pwd-tml-main">Пароль</label><br /> <input type="password" name="pwd-tml-main" id="pwd-tml-main" class="input" value="" size="18" /><p> <p><label for="rememberme-tml-main"><input name="rememberme-tml-main" type="checkbox" id="rememberme-tml-main" value="forever" /> Запомнить?</label></p> <p><input type="submit" name="login-submit-tml-main" id="login-submit-tml-main" value="Войти" /> <input type="hidden" name="redirect_to" value="http://wptest.ru/login/" /> <input type="hidden" name="testcookie" value="1" /></p> </form>
<form id="form-login" method="post" action="http://blackpig.ru/wp-login.php" name="loginform"> <input type="text" value="логин" class="flinput" onfocus="doClear(this)" onblur="doDefault(this)" id="user_login" name="log" /> <input type="password" value="password" class="flinput" onfocus="doClear(this)" onblur="doDefault(this)" id="user_pass" name="pwd" /> <input type="submit" value="" id="flsubmit" id="wp-submit" name="wp-submit" /> <input type="hidden" value="<?php bloginfo('url') ?>/wp-admin/" name="redirect_to"> <input type="hidden" value="1" name="testcookie"> <a href="<?php bloginfo('url') ?>wp-login.php?action=register" title="">регистрация</a> </form>
<form action="<?php echo wp_login_url(get_permalink()); ?>" method="post"> <label for="log"><input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="22" /> User</label> <label for="pwd"><input type="password" name="pwd" id="pwd" size="22" /> Password</label> <input type="submit" name="submit" value="Send" class="button" /> <label for="rememberme"><input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me</label> <a href="<?php bloginfo('url') ?>/wp-login.php?action=register" title="">Register</a> </form>
<ul> <li><a href="<?php bloginfo('url') ?>/login/?instance=tml-main&action=register">Регистрация</a></li> <li><a href="<?php bloginfo('url') ?>/wp-login.php?action=lostpassword">Забыли пароль?</a></li> </ul>
function add_twitter_contactmethod( $contactmethods ) { unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); return $contactmethods; } add_filter('user_contactmethods','add_twitter_contactmethod',10,1);
add_action( 'show_user_profile', 'my_show_extra_profile_fields' ); add_action( 'edit_user_profile', 'my_show_extra_profile_fields' ); function my_show_extra_profile_fields( $user ) { ?> <h3>Дополнительная информация</h3> <table class="form-table"> <tr> <th><label for="school">Ваша школа</label></th> <td> <input type="text" name="school" id="school" value="<?php echo esc_attr( get_the_author_meta( 'school', $user->ID ) ); ?>" class="regular-text" /><br /> <span class="description">Введите название вашей школы, если вы занимаетесь капоэйра</span> </td> </tr> <tr> <th><label for=city">Ваш город</label></th> <td> <input type="text" name="city" id="city" value="<?php echo esc_attr( get_the_author_meta( 'city', $user->ID ) ); ?>" class="regular-text" /><br /> <span class="description">Введите название города, где вы живете</span> </td> </tr> <tr> <th><label for="contact">Ваши контакты</label></th> <td> <input type="text" name="contact" id="contact" value="<?php echo esc_attr( get_the_author_meta( 'contact', $user->ID ) ); ?>" class="regular-text" /><br /> <span class="description">Введите любые контактные данные по которым с вами можно связаться</span> </td> </tr> </table> <?php } add_action( 'personal_options_update', 'my_save_extra_profile_fields' ); add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' ); function my_save_extra_profile_fields( $user_id ) { if ( !current_user_can( 'edit_user', $user_id ) ) return false; /* Copy and paste this line for additional fields. Make sure to change 'twitter' to the field ID. */ update_usermeta( $user_id, 'school', $_POST['school'] ); update_usermeta( $user_id, 'city', $_POST['city'] ); update_usermeta( $user_id, 'contact', $_POST['contact'] ); }
update_usermeta( $user_id, 'school', $_POST['school'] );
<div id="content"> <?php global $wp_query;$curauth = $wp_query->get_queried_object();?> <div class="entry"> <div class="text"> <div id="b-userinfo"> <?php echo get_avatar( $curauth->user_email, '96' ); ?> <div class="name"><?php echo $curauth->nickname; ?></div> <div class="name-real"><?php echo $curauth->first_name; ?> <?php echo $curauth->last_name; ?></div> <div class="useb-about"><?php echo $curauth->user_description; ?></div> </div> <div class="user-format"> <b>Рейтинг автора: <span><?php if(function_exists('cp_displayPoints')){cp_displayPoints($curauth->ID);}?> | Всего добавлено статей: <span class="rate-and-post"><?php $author_posts_link = get_author_posts_url($curauth->ID, $curauth->user_nicename ); $postlink = get_the_author_posts(); echo $postlink; ?></span></b></div> <? if ( $curauth->user_url ): ?><div class="user-format">Сайт автора: <a href="<?php echo $curauth->user_url; ?>" title="перейти на сайт автора" target="_blank"><?php echo $curauth->user_url; ?></a></div><? endif?> <? if ( $curauth->school ): ?><div class="user-format">Я занимаюсь в школе: <span class="color-user"><?php echo $curauth->school; ?></span></div><? endif?> <? if ( $curauth->city ): ?><div class="user-format">Я живу в городе: <span class="color-user"><?php echo $curauth->city; ?></span></div><? endif?> <? if ( $curauth->contact ): ?><div class="user-format">Связаться со мной можно: <span class="color-user"><?php echo $curauth->contact; ?></span></div><? endif?> <div id="other"> <h6>Cтатьи автора:</h6> <ul> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <li> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"> <?php the_title(); ?></a>, </li> <?php endwhile; else: ?> <p><?php _e('No posts by this author.'); ?></p> <?php endif; ?> </ul> </div> </div> </div><!-- End entry --> <div class="clear"></div> </div><!-- End content -->
<?php echo $curauth->nickname; ?>
<?php echo $curauth->city; ?>
<? if ( $curauth->city ): ?><div class="user-format">Я живу в городе: <span class="color-user"><?php echo $curauth->city; ?></span></div><? endif?>
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Правда, с css, видимо, придётся повозиться, чтобы всё красиво выводилось(
Плюс в mingle есть возможность заливать собственные аватары — можно ли сделать эту функцию самому, без плагина?
Если же пользователь публиковал статьи, то отображается правильное количество.
< ?php the_author_posts(); ?>
Извиняюсь за «спам». Правильное решение — использовать функцию count_user_posts($curauth->ID)
во-первых, я создал шаблон страницы, из которого убрал вывод статей, и вставил Ваш код.
но при таком раскладе теперь невозможно просмотреть главную страницу — идёт автоматический редирект на страницу логина, которую я только что делал. Жал на «регистрацию» — появляется ошибка:
The requested URL /login/ was not found on this server.
убрать поля AIM и 2 других я смог, а вот добавить — не получается.
но всё равно спасибо за цикл статей!
Parse error: syntax error, unexpected '}'
ничего не изменилось в полях. Как было, стандартное: имя, фамилия, сайт, так и осталось.
А для того, чтоб дополнительные поля появились в профиле, нужно добавить в код:
add_action(‘show_user_profile’, ‘my_show_extra_profile_fields’);
add_action(‘edit_user_profile’, ‘my_show_extra_profile_fields’);
Пыталась написать код по аналогии с другими полями (aim,yim,jabber) — не работат.
А очень нужно от этого поля избавиться.
Я создал файл author.php ( с помощью файла single.php и с заменой кода ), но при нажатии на ссылку «профиль» открывается вот это ( работаю на локалке, через денвер)
/home/cgi-glob/script.cgi
/home/***/cgi/script.cgi
/home/***/cgi-bin/script.cgi
«»»Теперь в нужном месте ставим»»»» Вот и все, но теперь нужно ведь заменить текст на то, что нам нужно. Для авторизированных пользователей мы вставим аватарку, ник, ссылку на профиль, ссылку на страницу изменения профиля, ссылку на выход.
Далее, если вставите тот код, то на сайте увидите просто сообщение — ЗДЕСЬ БУДЕТ БЛОК ДЛЯ ТЕХ КТО НЕ АВТОРИЗИРОВАЛСЯ, этот текст и нужно заменить «на то, что нам нужно» — это может быть тоже, что вам захочется. Хоть форма логина, хоть просто сообщение. Некоторые примеры «того, что нужно» я и привел. И да, эта статья для тех, кто хоть что-то понимает в файлах wordpress, если не понимаете, то сначала изучите основы хотя бы, для того, чтобы ковыряться в нем. Не хотите изучать, есть плагин theme my login — я его упоминал в статье не раз.
Вы не могли бы чуть-чуть помочь.
У меня вот такая проблемка. Сайд-бар почему то в низ падает.
А еще вопрос если можно.
Как удалить графу (в настройках профиля) «Личные настройки» и биографию?
А еще может есть способ сделать чтобы путь на страницу автора был таким: (www.Домен-сайта.ru/А-здесь-сразу-имя-без-надписи»author») ?
Еще раз большое спасибо за статью!
$(‘textarea#description’).parent().parent().hide();
Вот вам ещё в помощь
вот я зашел отображаются ссылки на «корректировку профиля», «выход» а как добавить вывод «Ника» пользователя который бы вел на его страницу автора?
а можешь дать пожалуйста код регистрации!
Заранее спасибо!
«Теперь разберемся как добавить несколько новых полей.» далее огромный кусок кода. Его тоже в functionы.php вставлять? Если да, то после такой операции перестает грузится сайт.
Еще вопрос — вместо аватарки у меня «user_email, ’60’ ); ?>», из-за чего может быть?
и последнее — файл author.php уже существует, его заменять созданным собственноручно?
Спасибо заранее. если что, сайт — miris-miris.ru
А как Вы выводите в сайдбаре блок «Лучшие статьи»? Т.е., чтобы выводились тумбы, заголовок и немного текста? Если Вы выводите вручную, то каким плагином, виджетом или кодом можно воспользоваться?
Легче почти с минимальными знаниями всё написать с минимумом знаний html на uCoz.
Можно подучить, сделать каркас, таблицу CSS и вписывать js.
Вывод: im-online.ucoz.net
Для начала, спасибо за статью. Поучительно.
Но у меня возникла проблема с удалением в профиле полей:
Keyboard Shortcuts (Горячие клавиши)
Show Admin Bar (Показывать верхнюю панель)
Возникла проблемма: когда добавляю дополнительные поля к профилю (в functions.php добавляю код) — в посте буквы отображаются нормально, но когда захожу в профиль они отображаются криво (���� ��������). Подскажите, плиз, как можно исправить это недоразумение ?
Тоже самое что и автора первого поста, который остался не откомментированным.
Подскажите,в чем может быть проблема. Решил основательно все сделать на WP. вот завис на этой мелочи. =(
И еще допустим юзер не ввел какую то информацию например биографию, то в профиле будет отображаться слово биография после чего пусто. Можно как то эту пустоту заменить на «пользователь не указал информацию»?
Подскажите пожалуйста.
Ошибка сервера
На веб-сайте произошла ошибка при получении . Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.
Спасибо за статьи, очень грамотно и доступно написаны. Есть один вопрос по формам входа… Размещаю на сайте форму из Вашей статьи, и она работает, причем перенаправляет на туже страницу откуда залогинился пользователь, но вот если введен неправильный пароль или логин, то перенаправляется на стандартную страницу вордпресса…
Как можно сделать так, чтобы при неправильно введенных данных или перезагружалась страница с которой логинится юзер или выскакивало сообщение о том, что какие то данные некорректны?