Розгляну приклад створення простого віджету. Наш віджет виведу форму лоґування, а після авторизації покаже привітання і посилання на профіль і вихід.

Код слід додати до файлу [php]functions.php[/php]

function uawp_login_widget( $args ) {
  extract( $args );
  print $before_widget;
  if ( is_user_logged_in() ) { // Якщо користувач залоґований — виводимо аватар, привітання…
    $user = wp_get_current_user(); // Отримуємо інформацію про поточного користувача
    print get_avatar( $user->user_email, '50' ); // «50» — це розмір аватару у пікселях ?>
    <ul>
      <li><?php _e('Hello,', 'uawp'); ?> <strong><?php print $user->display_name; ?></strong></li>
      <li><a href="<?php home_url(' / ') ?>/wp-admin/profile.php"><?php _e('My profile', 'uawp'); ?></a></li>
      <li><a href="<?php print wp_logout_url( get_permalink() ); ?>"><?php _e('Log out', 'uawp'); ?></a></li>
    </ul>
  <?php
  } else { // Якщо є користувач анонім — виводимо форму логування
    wp_login_form();
  }
  print $after_widget;
}
if ( function_exists( 'wp_register_sidebar_widget' ) )
  // Реєструємо наш віджет
  wp_register_sidebar_widget( 'uawp-login-id', __('Widget login', 'uawp'), 'uawp_login_widget' ); // «Widget login» — назва віджету

 

Author

Дмитро Кондрюк в веб-індустрії з 2003 року. В 2009р. заснував проект Український WordPress (що у подальшому став офіційним сайтом команди локалізації WordPress в Україні). З 2010 року засновник і технічний директор проекту Український хостинг для WordPress (WPHost.me) - повноцінного хостинг-сервісу, максимально оптимізованого на використання CMS WordPress.

Коментувати

коментарі 2

  1. Pingback: Як вивести всю таксономію певного типу контенту » Блоґ, Як зробити » Український Wordpress

  2. Сергій Назаревич Відповісти

    Гарно, тількі
    print get_avatar( $user->user_email, \’50\’ );
    вартує змінювати на
    print get_avatar( $user->user_email, \'50\', default=\"_шлях_до_дефолтного_аватара_для_тих_в_кого_немає_свого\" );
    для багатьох сайтів це актуально.
    А ще інколи замість user_email корисніше ID ($user->ID)