Moje najnowsze prelekcje

W ostatnich dwóch tygodniach miałem okazję wygłosić dwie prelekcje – na WordCampie w Pradze oraz na WordUpie w Warszawie. Załączam obie prezentacje wraz z krótkim komentarzem.

WordCamp Praga

To była moja pierwsza anglojęzyczna prelekcja i osobiście jestem z niej zadowolony. Czekam jeszcze na nagranie video by zobaczyć co można poprawić. Prelekcja z Pragi była rozwinięciem mojej prelekcji z ubiegłorocznego WordCamp Polska – jest to moim zdaniem obecnie najlepsza prezentacja jaką zrobiłem – mniej opowiadania o składni a więcej przykładów i praktycznych zagadnień, do tego parę użytecznych elementów jak np. tabela parametrów obsługiwanych przez poszczególne elementy ekranu personalizacji. W planach – rozwinięcie sekcji poświęconej JavaScript API oraz dodanie sekcji o Data Sanitization – oryginalnie była, ale bałem się, że nie wyrobię się w ustalonym czasie więc zniknęła 🙂

WordUp Warszawa

Na WordUpie w Warszawie zaprezentowałem nowy temat w swoim wykonaniu – o optymalizacji stron opartych na WordPressie. Temat bardzo szeroki dlatego prezentacja ma służyć jako zbiór głównych zasad, którymi powinno się kierować oraz grupuje je według elementów wpływających na szybkość witryny. To dopiero pierwsza wersja więc czeka ją jeszcze sporo poprawek, ale po odebranym feedbacku wnioskuję, że się podobała uczestnikom spotkania.

Tu jeszcze taka ciekawostka – jedna z uczestniczek spotkania – Dorota Kostowska pokusiła się o przygotowanie graficznych notatek z wszystkich prelekcji – wyszło moim zdaniem bardzo ciekawie.

Zdjęcie do wpisu wykonał nasz niezastąpiony fotograf – Wojtek Równanek.

WordUpy, lista podatności WordPressa i jego rozszerzeń, wprowadzenie do WP-API – WordPressowe Linki #34

Moja prelekcja z WordUpa w Łodzi

Ostatnio opowiadałem o wykorzystaniu możliwości ekranu personalizacji motywu. Będę też o tym mówił na WordUpie w Krakowie (31 października). Pamiętajcie też o WordUpach we Wrocławiu (17 października) i Warszawie (24 października).

Lista znanych podatności w WordPressie, wtyczkach i motywach

Obowiązkowa lektura dla wszystkich użytkowników WordPressa – warto ją śledzić by być na bieżącą ze wszystkimi podatnościami, zwłaszcza, że ostatnio coraz częsciej pojawiają się luki bezpieczeństwa w popularnych wtyczkach.

Wprowadzenie do WP-API

WordPress w wersji 4.1 wzbogaci się o API wykorzystujące format JSON – warto już teraz się z nim zapoznać, by wiedzieć jak wykorzystać drzemiące w tym API możliwości.

Eksperymenty z UI WordPressa

Krótki opis jednej z propozycji zmian jednego z najważniejszych miejsc kokpitu – ekranu dodawania wpisów.

Banner wtyczki w postaci PSD

Przydatny plik PSD do tworzenia bannerów dla wtyczek na oficjalne repozytorium WordPress.org.

Ważne zmiany na ThemeForest

Zanosi się na to, że wsparcie dla produktów z Theme Forest od 1. grudnia będzie udzielane tylko na 6 miesięcy, z możliwością wykupienia dodatkowej subskrypcji przedłużającej okres wsparcia.

Zapraszam na drugi WordUp w Łodzi

Już za dwa tygodnie miłośnicy WordPressa z Łodzi i okolic (takich jak Warszawa, Kraków, Wrocław czy Gdańsk 😉 ) spotkają się na drugim WordUpie w Łodzi. Jeżeli jeszcze nie zdecydowałeś/aś się na udział to zapraszam do zapoznania się z agendą wydarzenia.

Przyjezdni mogą liczyć na dodatkowy bonus, gdyż w ten sam weekend w Łodzi odbywają się też dwie inne ciekawe imprezy: Łódź Design Festival oraz Light Move Festival.

Zapowiada się sporo niespodzianek dla uczestników spotkania oraz zanosi się na długie kuluarowe rozmowy po prelekcjach 🙂

Przypominam także, że 17 października odbędzie się WordUp we Wrocławiu, a plotki mówią, że 31 października odbędzie się WordUp w Krakowie.

Do zobaczenia!

WordPress 4.0 – co nowego dla programistów?

W piątek na WordPress 4.0 Release Party we Wrocławiu pokazywałem prezentację na temat zmian w WordPressie 4.0, które mogą zainteresować programistów.

Bazuje ona na moim porównaniu kodu WordPressa 3.9.2 i 4.0.0RC. Od razu podkreślam – to są najciekawsze zmiany jakie wychwyciłem i uznałem, że warto je pokazać. Wszystkich zmian jest dużo więcej, ale musiałbym mieć 2 godziny aby wszystkie je pokazać w trakcie prezentacji 😉

Odpowiedzi na pytania z WordUpa w Krakowie

Na ostatnim WordUpie w Krakowie po mojej prelekcji pojawiło się kilka pytań wartych opisania z odpowiedziami w formie wpisu.

Jak dodać do popupa własną logikę?

W zasadzie dobór metody zależy od poziomu skomplikowania zawartości popupa i logiki go obsługującej. Jeżeli potrzebujemy zawartości popupa mającej niewiele wspólnego z listą kontrolek to mamy do dyspozycji dwa rozwiązania – skorzystać z kontrolki typu container, która oferuje nam możliwość wstawienia własnego kodu HTML przez właściwość html oraz obsługę zdarzeń poprzez onclick, onmouseover etc. Przykładem wykorzystania tej kontrolki jest wtyczka charmap – polecam lekturę jej kodu.

Drugie wyjście to sposób w jaki rozwiązano to w wypadku wstawiania linków – istnieje wtyczka wplink, która korzysta z obiektu window.wpLink zdefiniowanego w pliku wp-includes/js/wp-link.js – w tym wypadku działa to tak, że kliknięcie przycisku powoduje wywołanie metody open obiektu window.wpLink z ID aktywnego edytora. Dzięki temu możemy wykonać w popupie w zasadzie dowolny kod a na koniec rezultaty umieścić w edytorze znając jego ID. Póki co polecam analizę kodu wspomnianej wtyczki i skryptu z nią związanego – możecie się spodziewać, że rozwinę ten temat w sierpniu na łamach bloga 😉

Jak usunąć buttony po nazwie (czy jest oddzielna metoda)?

Jest to bardzo dobre pytanie, gdyż związane jest ono z większą elastyką naszych skryptów. Wyobraźmy sobie sytuację w której korzystamy z następującego kodu:

function dziudek_remove_btn($btns) {
    unset($btns[0]);
    return $btns;
}

add_action('mce_buttons', 'dziudek_remove_btn');

Ten kod będzie działał dokładnie tak jak sobie to zaplanowaliśmy do momentu gdy użytkownik nie wpadnie na pomysł wstawienia na początku pierwszego rzędu przycisków własnego przycisku – wtedy nasz skrypt usunie ten nowo dodany przycisk a nie przycisk pogrubienia tekstu. Na szczęście możemy temu łatwo zaradzić modyfikując trochę kod usuwania przycisku:

function dziudek_remove_btn($btns) {
    $index = array_search('bold', $buttons);

    if($index !== FALSE) {
        array_splice($buttons, $index, 1);
    }

    return $btns;
}

add_action('mce_buttons', 'dziudek_remove_btn');

Powyższy kod korzysta z faktu, że przyciski są przechowywane w tablicach według nazw. Istnieje też druga metoda – można przyciski usunąć już na etapie działania filtra tinymce_before_init.

Niestety nie natrafiłem na dedykowaną funkcję służącą do usuwania przycisków po samej nazwie.

Jak wykorzystać w TinyMCE kontrolki wyboru kolorów w popupie?

Pytanie o kontrolki kolorów pojawia się bardzo często, niestety są one też najbardziej problematyczne w wykorzystaniu. Teoretycznie można umieścić kontrolkę wyboru kolorów w popupie z użyciem pola typu colorbutton. Problem polega na tym, że aby ta kontrolka zadziałała trzeba stworzyć spory kawałek kodu generujący listę kolorów – w najprostszym wypadku wymaga to skopiowania 3/4 kodu wtyczki textcolor, gdyż ta wtyczka posiada kod, który generuje całą strukturę bloku pozwalającego wybrać kolor tekstu/tła.

Mam pewien pomysł na podejście do tego problemu i myślę, że w sierpniu można spodziewać się wpisu na ten temat (podobnie jak w wypadku logiki w popupach).

Jaką korzyść dają nam przyciski wstawiające kod, który można uzyskać poprzez dostępne już w TinyMCE przyciski?

To pytanie zasugerowało mi, że sekcja prezentacji odpowiadająca na pytanie – „Dlaczego warto tworzyć wtyczki dla TinyMCE?” wymaga rozwinięcia 🙂 Przede wszystkim trzeba wziąć poprawkę na to, że moja prelekcja opisuje podstawowe funkcjonalności i rzeczywiście efekty mogą się wydawać powieleniem dostępnych już funkcji. Co nie zmienia faktu, że przy edycji dużej ilości tekstu nawet przycisk, który jednym kliknięciem zastępuje trzy kliknięcia w edytorze jest naprawdę dużym udogodnieniem (nieraz się o tym przekonałem na własnej skórze). No i pozostaje kwestia bardziej zaawansowanych rozwiązań przygotowywanych pod klientów – jeżeli musimy wstawiać np. mapy we wpisach to miło byłoby gdyby klient od razu widział podgląd tego co wstawił i nie musiał znać całego API skryptu generującego mapki – tu właśnie leży siła autorskich rozwiązań – możemy sobie i klientowi dość łatwo ułatwić życie i uniknąć zbędnych pytań.

 

Zdjęcie dzięki uprzejmości Kasi Karus – współorganizatorki WordUpa w Krakowie.

Przyszłość WordPressa, Documattic, podatność w kodzie TimThumb, WordUp w Warszawie – WordPressowe Linki #29

Przyszłość WordPressa

Długi ale warty przeczytania artykuł o tym jak może wyglądać przyszłość WordPressa wraz z analizą obecnej sytuacji.

Generowanie przykładowych danych w BuddyPress

Powyższa wtyczka szybko wygeneruje zestaw przykładowych danych dla BuddyPressa (konta, statusy, wiadomości, relacje między użytkownikami itd.) – idealne rozwiązanie dla osób przygotowujących własne motywy wspierające BuddyPressa.

Documattic

Oddział WordPress.com VIP zdecydował się na publikowanie różnych ciekawych dokumentów dotyczących WordPressa na githubowym repozytorium – wszystkie dokumenty są publikowane na licencji Creative Commons.

Tutorial o tym jak wysłać własną łatkę do kodu WordPressa

Powyższy artykuł opisuje w jaki sposób możecie wnieść własny wkład w ulepszanie kodu WordPressa.

Luka w TimThumb

Skrypt TimThumb nie ma szczęścia do kwestii bezpieczeństwa – po raz kolejny pojawiła się informacja o znalezieniu w jego kodzie luki bezpieczeństwa. Jeżeli używacie tego skryptu w wersji 2.8.13 na swojej stronie to aktualizacja do wersji 2.8.14 jest zalecana dla zapewnienia bezpieczeństwa Waszej witrynie.

WordUp w Warszawie po raz trzeci!

W najbliższy piątek miłośnicy WordPressa znów spotkają się na WordUpie w Warszawie – tym razem przekrój tematów jest naprawdę szeroki więc każdy: początkujący, bloger jak i programista znajdzie coś dla siebie. Do zobaczenia 🙂

Tworzenie wtyczek dla TinyMCE 4.* – moja prelekcja z WordUp Wrocław #4

Po raz drugi pojawiłem się we Wrocławiu na WordUpie jako prelegent i tym razem opowiadałem o tworzeniu wtyczek dla TinyMCE 4.*.  Prelekcję można znaleźć na SlideShare.

Aby prelekcja nie była zbyt długa i nużąca zdecydowałem się wydzielić trzy tematy i stworzyć na ich podstawie wpisy, które stanowią uzupełnienie samej prelekcji:

  1. TinyMCE – dodawanie przycisków w trybie fullscreen
  2. Edytor TinyMCE w sekcji komentarzy
  3. Kontrolka styleselect w TinyMCE

Mam już sporo wartościowego feedbacku oraz kilka pomysłów na ulepszenie tej prelekcji, zatem można się spodziewać, że na jednym z kolejnych WordUpów zaprezentuję ją w ulepszonej postaci.

Dziękuję też osobom, które stale zadają mi ciekawe pytania, dzięki którym mogę tworzyć kolejne wpisy o TinyMCE – kolejna porcja wpisów odnośnie zastosowań tego edytora pojawi się niebawem.

WordPressowe Linki #23

Nowości dla twórców motywów zawarte w WordPress 3.9

Nadchodzące wydanie WordPressa przynosi sporo nowych funkcjonalności, które powinny zainteresować twórców motywów już teraz – powyższy artykuł zawiera wszystkie warte uwagi nowości.

Nowe profile na WordPress.org

Ostatnio zmienił się wygląd profili na stronie WordPress.org – docelowo mają one bardziej uwypuklać wkład użytkowników w współtworzenie społeczności WordPressa

Wsparcie oEmbed dla Meetup.com oraz imgur w WP 3.9

WordPress 3.9 usuwa wsparcie oEmbed Qik, za to dodane zostanie wsparcie dla serwisów Meetup.com oraz imgur.

Materiały z WordUp Warszawa

Dla tych co nie mogli pojawić się w Warszawie w piątek na WordUpie – materiały z prezentacji oraz galeria zdjęć.