Сниппеты — маленькие большие помощники

0

Небольшие фрагменты кода, расширяющие функциональность WordPress. Вот как можно охарактеризовать сниппеты одним предложением. Что модули тоже играют эту роль? Да, они очень похожи по своей сути, но уникальность сниппетов определяют два ключевых фактора: они не требуют установки и за счет минимального объема не нагружают сервер.

Как работать со сниппетами WordPress?

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

Решением является модуль Code Snippets , работающий системно и в комфорте административной среды, предлагающий, помимо обязательного добавления, изменения, удаления собственных кодов, также их резервное копирование через файл XML. Отдельные сниппеты можно активировать и выключать по мере необходимости, сниппеты кода также можно использовать для мультисайтовой установки, а словацкий перевод этого модуля, безусловно, будет для вас бонусом.

Сниппеты WordPress на практике

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

Этот фрагмент удаляет метку версии WP из заголовка страницы.

function remove_wp_version() {
return '';
}
add_filter('the_generator', 'remove_wp_version');

 

В шапку вставим jQuery из Google Apis

if( !is_admin() ){
 wp_deregister_script('jquery');
 wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"), false, '');
 wp_enqueue_script('jquery');
}

или шрифт с поддержкой словацкого акцента из Google Fonts

function load_fonts() {
 wp_register_style ('googleFonts', 'http://fonts.googleapis.com/css?family=News+Cycle&subset=latin,latin-ext');
 wp_enqueue_style( 'googleFonts');
}
add_action('wp_print_styles', 'load_fonts');

 

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

if (!current_user_can('administrator')):
 show_admin_bar(false);
endif;

 

Мы отредактируем информацию пользователя в его профиле

function new_contactmethods( $contactmethods ) {
 $contactmethods['twitter'] = 'Twitter'; // pridame Twitter
 $contactmethods['facebook'] = 'Facebook'; // pridame Facebook
 unset($contactmethods['yim']); // odoberieme Yahoo IM
 unset($contactmethods['aim']); // odoberieme AIM
 unset($contactmethods['jabber']); // odoberieme Jabber
 return $contactmethods;
}
add_filter('user_contactmethods','new_contactmethods',10,1);

 

Мы удалим предустановленные виджеты WordPress

function unregister_default_widgets() {
 unregister_widget('WP_Widget_Pages');
 unregister_widget('WP_Widget_Calendar');
 unregister_widget('WP_Widget_Archives');
 unregister_widget('WP_Widget_Links');
 unregister_widget('WP_Widget_Meta');
 unregister_widget('WP_Widget_Search');
 unregister_widget('WP_Widget_Text');
 unregister_widget('WP_Widget_Categories');
 unregister_widget('WP_Widget_Recent_Posts');
 unregister_widget('WP_Widget_Recent_Comments');
 unregister_widget('WP_Widget_RSS');
 unregister_widget('WP_Widget_Tag_Cloud');
 unregister_widget('WP_Nav_Menu_Widget');
 unregister_widget('Twenty_Eleven_Ephemera_Widget');
}
add_action('widgets_init', 'unregister_default_widgets', 11);

 

Мы отключим использование визуального редактора

add_filter('user_can_richedit' , create_function('' , 'return false;') , 50);

 

Мы сами выберем длину списка взносов

 
custom_excerpt_length($length) {
 return 100;
}
add_filter('excerpt_length', 'custom_excerpt_length');

 

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

add_action('login_form', 'redirect_after_login');
 function redirect_after_login() {
  global $redirect_to;
  if (!isset($_GET['redirect_to'])) {
  $redirect_to = get_option('siteurl'); // presmerujeme na homepage
 }
}

 

Мы даем автору 7 дней на редактирование уже опубликованной статьи

function stop_post_editing_filter( $capauser, $capask, $param){
 global $wpdb;
 $post = get_post( $param[2] );
 if( $post->post_status == 'publish' ){
      // obmedzenie bude platit pre rolu Autor
      if( $capauser['author'] == 1 ){
        if( ( $param[0] == "edit_post") || ( $param[0] == "delete_post" ) ) {
          $post_time_unix = strtotime( str_replace('-', ':', $post->post_date ) );
          $current_time_unix = time();
          $diff = $current_time_unix - $post_time_unix;
          $hours_after_publication = floor( $diff / 60 / 60 );
          // po 168 hodinach od publikovania bude automaticky vypnuta moznost dalsej upravy prispevku
          if( $hours_after_publication >= 168 ){
            foreach( (array) $capask as $capasuppr) {
              if ( array_key_exists($capasuppr, $capauser) ) {
                $capauser[$capasuppr] = 0;
              }
            }
          }
        }
      }
  }
  return $capauser;
}
add_filter('user_has_cap', 'stop_post_editing_filter', 100, 3 );

 

Установим интервал автоматического сохранения поста 10 минут — 60 секунд х 10 (в файле wp-config.php)

define('AUTOSAVE_INTERVAL', 600);

 

Отключить публикацию ревизий (в wp-config.php)

define('WP_POST_REVISIONS', false);

 

Или мы устанавливаем ограничение на количество ревизий постов до 5

define('WP_POST_REVISIONS', 5)

 

Мы автоматически очищаем Корзину каждые 5 дней (в файле wp-config.php)

define('EMPTY_TRASH_DAYS', 5 );

 

Мы вставим ссылку для редактирования поста (например, в файлах single.php или page.php)

<?php edit_post_link ('Upraviť príspevok'); ?>

 

Самые известные источники сниппетов WordPress

WPsnipp.com

WP-snippets.com

WPfunction.me

Резервное копирование, резервное копирование, резервное копирование!

Закон Мёрпи ясен: чем больше ошибка в коде, тем неожиданнее она покажется. Во избежание возможных осложнений не забудьте сделать резервную копию редактируемого файла и базы данных.

Вы создали свои собственные фрагменты или нашли несколько интересных, блуждая по Интернету? Напишите нам об этом в комментариях.

 

Was this article helpful for you? Support me by sharing, please. 👍
WordPress Návod v PDF

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь