Dzisiaj chciałbym się z Wami podzielić kilkoma gotowcami, które być może przydadzą się Wam przy tworzeniu własnych templatek. Ja osobiście korzystam z nich bardzo często, więc myślę, że Wam również mogą się niekiedy przydać. Nie są to jakieś wysublimowane i wymyślne triki – wręcz przeciwnie. Większość tych rozwiązań to gotowce z sieci, niemniej bardzo przydatne.

Usuwanie metatagów z sekcji head

WordPress domyślnie generuje kilka metatagów, które mnie osobiście denerwują. Nie chodzi już nawet o to, że nie do końca rozumiem ich przeznaczenie, a bardziej o to, że w moim przypadku są one po prostu zbędne. Uważam się za kodowego purystę, w związku z tym lubię mieć całkowitą kontrolę nad bebechami. Dlatego na dzień dobry wywalam linki wlwmanifest i rsd oraz – i to również ze względów bezpieczeństwa – informacje o wersji WP, tzw. generator. Na szczęście wszystkie te śmieciuchy można usunąć umieszczając w pliku functions.php następujący fragment kodu:

remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');

Dodawanie klasy do pierwszego i ostatniego elementu menu

Czasem po prostu trzeba, bo wymaga tego projekt, a ostatni czy też pierwszy element po prostu musi mieć inne wartości. Naturalnie już niedługo wystarczy odpowiedni selektor w CSSie, ale póki co, póki nie wszystkie przeglądarki radzą sobie ze wszystkimi selektorami dobrze, dodatkowa klasa dla pierwszego i ostatniego elementu może się przydać. Fragment kodu do umieszczenia w functions.php:

function add_first_and_last($output) {
  $output = preg_replace('/class="menu-item/', 'class="first-menu-item menu-item', $output, 1);
  $output = substr_replace($output, 'class="last-menu-item menu-item', strripos($output, 'class="menu-item'), strlen('class="menu-item'));
  return $output;
}
add_filter('wp_nav_menu', 'add_first_and_last');

Zmiana logo na stronie logowania

Oczywiście można to zrobić przy pomocy wtyczki, ale po co wyważać otwarte drzwi? Zmienić logo można bez wtyczki, szybko i zgrabnie. Wystarczy w functions.php zamieścić:

function custom_login_logo() {
	echo '
	<style type="text/css">
		h1 a {background-image: url('.get_bloginfo('template_directory').'/images/img-logo.png) !important; margin-bottom:15px;}
		#log-message {margin-left:8px; margin-bottom:15px; padding:16px; font-weight:normal; text-align:center; -moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;background:#fff;border:1px solid #e5e5e5;-moz-box-shadow:rgba(200,200,200,1) 0 4px 18px;-webkit-box-shadow:rgba(200,200,200,1) 0 4px 18px;-khtml-box-shadow:rgba(200,200,200,1) 0 4px 18px;box-shadow:rgba(200,200,200,1) 0 4px 18px;color: #777777; font-size: 13px;}
	</style>';
}
add_action('login_head', 'custom_login_logo');

Oczywiście style można sobie zmodyfikować wedle potrzeb. No i nie wolno zapominać o podaniu właściwej ścieżki do logo.

Zmiana linku i tytułu logo na stronie logowania

Ok, tak więc zmieniłeś logo na stronie logowania, ale po kliknięciu lik dalej kieruje na stronę wordpress.org? Można temu zaradzić (w końcu chcemy, żeby link kierował na naszą stronę), wystarczy w functions.php umieścić:

function logo_url(){
	return (home_url());
}
add_filter('login_headerurl', 'logo_url');

Przy okazji przydałoby się zmienić tytuł, prawda? Link wprawdzie kieruje już do Twojej strony, ale tytuł, który pojawia się po najechaniu kursorem na logo, sugeruje coś innego. W functions.php dopisz:

function change_wp_login_title() {
	echo 'Przejdź do strony '.get_option('blogname');
}
add_action('login_headertitle', 'change_wp_login_title');

Zmiana treści błędu na stronie logowania

Ta zmiana to nie tylko kosmetyka, ale również bezpieczeństwo. Strona logowania na wszystkich stronach opartych na WP ma domyślnie ten sam adres – wp-login.php, więc nie trudno na nią trafić. Błędy wyświetlane domyślnie przez WP mogą być wskazówką dla nieproszonych gości na temat tego, czy podany został zły login czy też złe hasło. Warto więc zlikwidować to rozgraniczenie – jeden wspólny komunikat jest wystarczającą informacją dla użytkownika i dodatkowym utrudnieniem dla nieproszonego gościa (bo nie wie, czy wpisuje błędny login, błędne hasło, czy jedno i drugie). Zmiana komunikatu błędu jest bajecznie prosta (plik functions.php):

function custom_login_errors( $message ) {
	return str_replace( $message, 'Podczas logowania wystąpił błąd.<br /><br />Spróbuj zalogować się ponownie lub skontaktuj się z administratorem strony.', $message );
}
add_filter( 'login_errors', 'custom_login_errors' );

Dodatkowy komunikat na stronie logowania

Czasami możemy chcieć zamieścić jakiś komunikat powitalny na stronie logowania, np. „Cześć, witaj na stronie logowania”. :) Sam często stosuje ten wybieg, żeby Klient poczuł się lepiej. Zamiast grzebać gdzieś w otchłaniach WordPressa i osadzać komunikat na stałe (przy okazji powtarzając te czynność po każdej aktualizacji), wystarczy w pliku functions.php zamieścić:

function add_login_message() {
	echo '<div id="log-message"><p>Cześć, witaj na stronie logowania!<p/></div>';
}
add_action('login_message', 'add_login_message');

Zmiana odstępu czasu pomiędzy autosave’ami

Chyba każdy, kto korzysta z WP, zdaje sobie sprawę, że ta sprytna bestia tworzy automatyczne kopie zapasowe wpisów i stron w trakcie ich tworzenia (tzw. revisions). Domyślnie taka kopia tworzona jest co 120 sekund, ale możemy ten odstęp zmienić. Aby to zrobić w pliku konfiguracyjnym wp-config.php należy umieścić następujący fragment kodu:

define('AUTOSAVE INTERVAL', 180 );

Oczywiście 180 w tym wypadku oznacza ilość sekund, tak więc Worpdress będzie tworzył automatyczne kopie co 3 minuty, a nie co 2.

Zdefiniowanie maksymalnej ilości wersji wpisu

Domyślnie WordPress tworzy chyba nieograniczoną ilość tzw. revisions – wersji wpisu. Oznacza to, że przy każdej zmianie wpisu zapisuje poprzednią wersję. Do tego dochodzą jeszcze kopie automatyczne. Myślę, że warto ograniczyć ilość zapisywanych wersji, bo w pewnym momencie mogą one stać się dość problematyczne (np. ze względu na wagę). Ja zawsze poprzestaję na 10 i jest to moim zdaniem ilość całkowicie wystarczająca. Aby ograniczyć ilość wersji w pliku wp-config.php dopisujemy:

define('WP_POST_REVISIONS', 10);

Drugi parametr to oczywiście ilość możliwych wersji.

Podobne wpisy: