Moja prelekcja na WordCamp 2012 Gdańsk

Tytuł mojej prelekcji to:

Sprzątaj po sobie!

Opis:

Prezentacja adresowana jest zarówno do twórców wtyczek, jak i do ich użytkowników. Dla tych pierwszych będzie to zestaw dobrych praktyk, jakie należy umieścić w tworzonej wtyczce. Użytkownicu znajdą kilka istotnych rzeczy na jakie warto zwrócić uwagę przy używaniu, instalowaniu oraz usuwaniu używanych wtyczek. Prezentacja obejmie kwestie związane z wydajnością serwisu, a pomijane zazwyczaj przy tego typu prezentacjach, czyli jak na wydajnośc serwisu wpływa to co przechowują w bazie wtyczki i dlaczego tak się dzieje. Pokazane zostanie jaki wpływ na wydajność miał fakt sprzątnięcia bazy danych po tym, co zostawiły po sobie, prawidłowo wyłączone, a nieprawidłowo napisane wtyczki.

zobacz inne prelekcje
Lista prelekcji na WordCamp 2012 Gdańsk

Asynchronicznie ładowana galeria

Na zamówienie klienta stworzyłem wtyczkę WordPress z asynchroniczną galerię. Galeria jest ładowana dopiero po załadowaniu strony, a sam proces pobierania podzielony jest na dwie części: pierwsza pobiera stronicowaną listę miniaturek, a druga sam obrazek.

Sama lista w celu zmniejszenia transferu jest podzielona na paczki, które można doładować, klikając w „pobierz więcej”.

Wtyczka nadpisuje standardowy shortcode [gallery], dzięki czemu użycie jest absolutnie przeźroczyste dla redaktorów.

Obsłużyłem też część standardowych parametrów, pomijając te, które przybierają wartości predefiniowane.

Po zdjęciach w galerii można się poruszać za pomocą strzałek strzałka w prawo → ładuje następne zdjęcie, natomiast strzałka w lewo → poprzednie.

zobacz na autikult.pl
przykładowe użycie galerii

WordPress: jak skasować wpisy krótsze niż…

Dzisiejszy snippet powstał „na zamówienie” jednego z użytkowników kanału #wordpress na IRCu, i służy do kasowania wpisów krótszych niż 800 znaków. Cel właściwie jeden, nadchodząca panda może spamiarakom z krótką treścią zrobić kuku. A temat był fajny, użytkownik za mało łapał sql’a żeby zrobił to z wykorzystaniem kilku poleceń, więc powstała wtyczunia:

add_action( 'admin_init', 'iworks_dtl' );
function iworks_dtl()
{
    global $wpdb;
    $query = 'SELECT ID FROM '.$wpdb->posts.' WHERE LENGTH(post_content) < 800 AND post_type = "post" AND post_status = "publish"';
    $data = $wpdb->get_results( $query );
    foreach( $data as $one ) {
        wp_delete_post( $one->ID, true );
    }
}

pobierz plik: iworks_delete_post_short_that_800.php

Zmiana w repozytorium wtyczek WordPressa

Jeżeli odwiedzacie repozytorium wtyczek WordPressa to być może trafiliście na wtyczki, które posiadają graficzny nagłówek. Całość zmian opisał Matt, a sposób na umieszczenie graficznego banerka jest niesamowicie prosty i składa się z trzech kroków:

  1. Utwórz obrazek w rozmiarze 772×250 pikseli, musi być to jpeg lub png.
  2. W katalog głównym wtyczki utwórz katalog assets a w nim swój plik nazwany tak: assets/banner-772x250.(jpg|png). Uwaga! katalog assets trzeba dodać w głównym katalogu wtyczki, a nie w katalogu trunk.
  3. Po odświeżeniu się danych wtyczki (czas odświeżania to około 15 minut), baner pojawi się nad opisem.

Wtyczka z banerkiem: upPrev

Oryginalny wpis: Been giving a lot of thought to how.

 

WordPress mysql console

Zdarza mi się, choć rzadko, dostać zlecenie w którym nie ma dostępu do shell’a z mysql-client’em lub nie ma dostępu do mysql’a w ogóle. No ale czasem się już to zdarzy. Oczywiście zawsze można zgrać phpMyAdmina do jakiegoś dziwacznego katalogu, założyć na nim htaccess i śmigać. Ale to nie to samo.

Dziś znalazłem wtyczkę, która w takich sytuacjach sprawdza się nadzwyczaj dobrze. Mowa o WP MySQL Console, którą serdecznie polecam.