Snippets – mali, wielcy pomocnicy

0

Małe fragmenty kodu rozszerzające funkcjonalność WordPress . Tak można scharakteryzować fragmenty w jednym zdaniu. Czy moduły też odgrywają tę rolę? Jasne, mają one bardzo podobny charakter, ale o unikalności snippetów decydują dwa kluczowe czynniki: nie wymagają instalacji i ze względu na swoją minimalną objętość nie obciążają serwera.

Jak pracować z fragmentami WordPress ?

Najczęstszą lokalizacją do przechowywania fragmentów jest plik functions.php w aktywnym motywie i może być równie przydatna do użytku globalnego w pliku wp-config.php. Wystarczy otworzyć edytor tekstu i dodać odpowiedni kod do tych plików. Pewną wadą ręcznego wstawiania snippetów jest ich połączenie z aktualnie aktywowanym motywem, z wyjątkiem wspomnianego wyżej wyjątku z wp-config.php.

Rozwiązaniem jest moduł Code Snippets , który działa systemowo iw zaciszu środowiska administracyjnego, poza obowiązkowym dodawaniem, modyfikacją, usuwaniem własnych kodów, a także ich archiwizacją poprzez plik XML. Poszczególne fragmenty można aktywować i wyłączać w razie potrzeby, fragmenty kodu mogą być również używane do instalacji wielostanowiskowej, a słowackie tłumaczenie tego modułu z pewnością będzie dla ciebie bonusem.

Fragmenty WordPress w praktyce

Wraz z rosnącą popularnością WordPress rośnie również liczba interesujących fragmentów. Poniższy wybór to przykład wielu przydatnych rozwiązań, kilka linków do innych zasobów można znaleźć na końcu artykułu.

Ten fragment kodu usuwa etykietę wersji WP z nagłówka strony

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

 

Do nagłówka wstawimy jQuery z 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');
}

lub czcionka z obsługą słowackich akcentów z 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');

 

Wyłączymy wyświetlanie paska administracyjnego dla wszystkich użytkowników oprócz administratorów

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

 

Będziemy edytować informacje o użytkowniku w jego profilu

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);

 

Usuniemy gotowe widżety 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);

 

Wyłączymy korzystanie z edytora wizualnego

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

 

Dobierzemy własną długość listy składek

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

 

Zmienimy przekierowanie po zalogowaniu się użytkownika

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
 }
}

 

Autorowi damy 7 dni na edycję już opublikowanego artykułu

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 );

 

Ustawimy interwał automatycznego zapisywania postu na 10 minut – 60 sekund x 10 (w pliku wp-config.php)

define('AUTOSAVE_INTERVAL', 600);

 

Wyłącz publikowanie wersji (w wp-config.php)

define('WP_POST_REVISIONS', false);

 

Lub ustawiamy limit wersji postu na 5

define('WP_POST_REVISIONS', 5)

 

Automatycznie opróżniamy Kosz co 5 dni (w pliku wp-config.php)

define('EMPTY_TRASH_DAYS', 5 );

 

Wstawimy link do edycji posta (np. w plikach single.php lub page.php)

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

 

Najbardziej znane źródła fragmentów WordPress

WPsnipp.com

WP-snippets.com

WPfunction.me

Kopia zapasowa, kopia zapasowa, kopia zapasowa!

Prawo Murpy’ego jest jasne: im większy błąd w kodzie, tym bardziej nieoczekiwany będzie się pojawiał. Aby uniknąć ewentualnych komplikacji, nie zapomnij wykonać kopii zapasowej edytowanego pliku i bazy danych.

Czy stworzyłeś własne fragmenty lub odkryłeś jakieś interesujące podczas roamingu w Internecie? Napisz do nas o tym w komentarzach.

 

Czy ten artykuł był dla Ciebie pomocny? Wesprzyj mnie jego udostępnianiem. 👍
WordPress Návod v PDF

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj