9 вставок кода для WordPress

В данном уроке приводится несколько коротких, но весьма полезных вырезок кода для WordPress.

 

1. Скрываем верхнюю панель администратора

Начиная с версии 3.1, WordPress выводит верхнюю панель администратора для всех пользователей. От ее вывода можно отказаться с помощью профиля пользователя. Но если на сайте много пользователей/авторов, то лучше воспользоваться функцией show_admin_bar, чтобы одним действием решить задачу для всех:

show_admin_bar(FALSE);

 

2. Автоматическая очистка корзины

В файле /wp-config.php нужно вставить следующий код для автоматической очистки корзины от материалов, старше 5 дней:

define('EMPTY_TRASH_DAYS', 5 );

 

3. Включаем внутренний отладчик WordPress

При разработке сайта нужно видеть ошибки, которые возникают при выполнении кода.  Не все ошибки вызывают остановку скрипта, они могут приводить к странным эффектам. Чтобы включить вывод отладочной информации WordPress вставьте следующий код в файл /wp-config.php:

define('WP_DEBUG', TRUE);

Вы будете удивлены той информацией, которая будет выводиться в нижний колонтитул. Только нужно помнить об отключении режима отладки перед публикацией сайта.

 

4. Перенаправление пользователей после авторизации

Когда пользователь авторизуется в системе, то по умолчанию он попадет на панель управления. Но с помощью фильтра login_redirect его можно перенаправить на главную страницу сайта, если он не является администратором системы:

add_filter("login_redirect", "subscriber_login_redirect", 10, 3);

function subscriber_login_redirect($redirect_to, $request, $user){  

  if(is_array($user->roles)){

    if(in_array('administrator', $user->roles)) return home_url('/wp-admin/');

  }

  return home_url();

}

Используя роль пользователя , его можно перенаправлять на любую страницу.

 

5. Вывод миниатюры заметки по умолчанию

Начиная с версии v2.9 WordPress предоставляет для записей опцию выбора миниатюры. Для записи можно использовать изображение в качестве миниатюры по умолчанию.

В главном цикле добавляем код:

if(has_post_thumbnail()){

  the_post_thumbnail();

}else{

  echo '<img src="' .  get_bloginfo('template_directory') . '/images/default_post_thumb.jpg" />';

}
  • Проверяем наличие миниатюры с помощью функции has_post_thumbnail()
  • если она есть, выводим ее функцией the_post_thumbnail()
  • в противном случае генерирует тег img для миниатюры по умолчанию

Вы можете иметь набор миниатюр по умолчанию и выбирать любую из них в случайном порядке.

 

6. Выводим "С момента публикации прошло: <время>" для записей и страниц

Если с момента публикации прошло меньше недели, то будем выводить прошедшее количество дней, а в другом случае - дату публикации. В главном цикле вставляем код:

$time_diff = current_time('timestamp') - get_the_time('U');

if($time_diff < 604800){//В неделе 604800 секунд

  echo 'С момента публикации прошло: ' . human_time_diff(get_the_time('U'), current_time('timestamp'));

}else{

  echo 'Опубликовано: ' . get_the_date() . ', ' . get_the_time();

};

  • human_time_diff() конвертирует дату в воспринимаемый человеком формат;
  • get_the_time() возвращает время создания записи (параметр ‘U’ используется для формирования значения в формате Unix);
  • current_time() возвращает текущее время (параметр ‘timestamp’ используется для формирования значения в формате Unix).

 

7. Задаем специальный стиль для комментария автора

Отличным решением является выделение комментариев, сделанных автором записи. Нужно определить класс для контейнера комментария и использовать его в теме. Чтобы найти комментарии автора записи, можно использовать следующий код:

if($comment->user_id == get_the_author_meta('ID')){

  echo '<div class="comment_wrapper author_comment">';

}else{

  echo '<div class="comment_wrapper">';

}

Мы сравниваем идентификатор автора комментария с идентификатором автора записи, полученным с помощью функции get_the_author_meta(). Если они идентичны, используем класс author_comment, стили которого задаются в CSS.

 

8. Подсчитываем количество комментариев, сделанных пользователем

Можно сделать прямой запрос к базе данных WordPress для получения информации о пользователе. Поместите код данной функции в файл functions.php темы и вызывайте ее тогда, когда нужно вывести информацию об активности пользователя.

function get_site_data(){

  global $wpdb;

  $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users");

  $posts = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts WHERE post_status = 'publish'");

  $comments = $wpdb->get_var("SELECT COUNT(comment_ID) FROM $wpdb->comments");

  echo '<p>' . 'Пользователь ' . $users . ' написал ' . $comments . ' комментариев в ' . $posts . ' записях</p>';

}

 

9. Корректно добавляем JavaScript файл

Данной теме посвящен отдельный урок на нашем сайте, но сам код получается достаточно компактным.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: wp.tutsplus.com/tutorials/quick-tip-9-handy-wordpress-code-snippets-that-you-really-should-know/
Перевел: Сергей Фастунов
Урок создан: 25 Октября 2011
Просмотров: 22800
Правила перепечатки


5 последних уроков рубрики "Wordpress"

^ Наверх ^