Autor: Marcin Pietrzak Strona 17 z 41

WordPress: losowa kolejność postów

Jak losowo wyświetlać posty? Nic prostszego, wystarczy jedna linijka kodu (tu rozbite, żeby dobrze się wyświetlało:

add_filter(
    'posts_orderby',
    create_function( '$a', 'return "rand()";' )
);

Jak wykorzystać ten kod?

Należy go wstawić w function.php uzywanego motywu, oczywiście nie w takiej formie, bo nie wyświetlimi pojedynczego wpisu nawet, bo będzie losowy, ale z odpowiednimi warunkami.

Przykład losujący tylko na stronie kategorii:

add_filter( 'posts_orderby', 'iworks_random_order' );
function iworks_random_order( $order ) {
    if ( is_category() ) {
        return "rand()";
    }
    return $order;
}

Aktualizacja do 3.3.1

Każdy kto zdążył już do tej pory zaktualizować WordPressa do wersji 3.3 powinien jak najszybciej wykonać aktualizację do wersji 3.3.1, ze względu na wykrytą i załataną dziurę w systemie komentarzy, która była wrażliwa na atak typu XSS.

WordPress: jak zmienić tło w co drugim wpisie

Na polskim forum WordPressa użytkownik kujdak zadał pytanie

Mam skórkę Twenty Eleven ten. chciałem wyróżnić posty – co drugi o np. szarym tle. porsze o pomoc jak to zrobic?

Odpowiedź dotyczy dowolne skórki i jest przewrotna. Wystarczy dodać odpowiednią klasę i ją wyróżnić.

A więc jak dodać klasę?

add_filter( 'post_class', 'iworks_even_odd_post_class_filter' );
 
$post_count = 1;
 
function iworks_even_odd_post_class_filter( $class )
{
    global $post_count;
    $class[] = $post_count++ % 2? 'odd':'even';
    return $class;
}

Oraz dodać odpowiedni wygląd w pliku style.css:

.hentry.odd
{
    background-color:red;
}

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: usunąć logo WP i odnośniki

Nie wiem jak was, ale mnie logo WordPress w najważniejszym miejscu strony, wraz z listą odnośników po prostu… „rozbawiło”, bo inaczej nie można tego nazwać. Więc! do usunięcia.

Malutki, jednolinijkowy snippet (tutaj rozbite na wiele), usuwający z admin bara logo WordPressa oraz standardowe odnośniki:

add_action(
  'add_admin_bar_menus',
  create_function(
    '',
    "remove_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );"
  )
);

Zalecane użycie: dodać rozpakowany plik do katalogu wp-content/mu-plugins.

[zip title="Usuń z AdminBara logo WordPressa wraz z całym jego menu" href="http://iworks.pl/wp-content/uploads/2011/12/iworks_remove_logo_menu_from_admin_bar.php.zip"]iworks_remove_logo_menu_from_admin_bar.php[/zip]

WordPress: kategoria na stronie tylko dla administratorów

Na polskim forum WordPressa bartekm zadał pytanie:

mam problem ze stworzeniem kategorii newsów która jest widoczna tylko dla administratorów bloga. Czy ktoś wie jak to zrobić?

Aby na stronie z listą nie wyświetlać wpisów z kategorii o uproszczonej nazwie „nowosci”, realizujemy to w następujący sposób:

<?php
 
add_filter( 'parse_query', 'parse_query_test_filter' );
 
function parse_query_test_filter( $query )
{
    if ( !current_user_can('administrator')  ) {
        $query->query_vars['category__not_in'][] = get_category_by_slug( 'nowosci' );
    }
    return $query;
}

Trzeba pamiętać, że taki kod nie zabezpiecza przed obejrzeniem wpisu przez innych niż „administratorzy” użytkowników. On tylko nie wyświetla takich postów na listach.

WordPress: obrazek dla facebooka

Jak sprawić, żeby wyróżniony przez nas obrazek znalazł się na facebooku przy wpisie? Odpowiedzią jest króciutki snippet, który najlepiej umieścić w katalogu „wp-content/mu-plugins” jako wtyczkę, która zawsze będzie uruchamiana.

<?php
if ( !function_exists( 'iworks_facebook_og_image' ) ) {
    function iworks_facebook_og_image()
    {
        if ( !is_singular()) {
            return;
        }
        if ( !function_exists( 'has_post_thumbnail' ) ) {
            return;
        }
        global $post;
        if( has_post_thumbnail( $post->ID ) ) {
            $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
            printf(
                '<meta property="og:image" content="%s"/>%s',
                esc_attr( $thumbnail_src[0] ),
                "\n"
            );
        }
    }
}
add_action( 'wp_head', 'iworks_facebook_og_image', 5 );
[zip href="http://iworks.pl/wp-content/uploads/2011/11/facebook.og.image.php.zip"]facebook.og.image.php[/zip]

Jak użyć podany kod?

Masz 3 rozwiązania:

  1. wrzuć załączony plik do folderu wp-content/plugins, a potem włącz wtyczkę
  2. wrzuć załączony plik do folderu wp-content/mu-plugins
  3. dołącz kod do pliku functions.php aktualnie używanego motywu

Wtyczka upPrev w sieci Blomedia

Wtyczka upPrev została wdrożona we wszystkich serwisach sieci blomedia.pl co oznacza, że potencjalnie jest używana do kilkunastu milionów razy miesięcznie.

Wtyczka została specjalnie zmieniona. W celu zwiększenia wydajności została dostosowana do używane s serwisach własnego systemu cachowania opartego od serwer memcache’a.

[blo-link-inner href="http://iworks.pl/2011/08/23/wtyczka-wordpress-upprev/"]Wtyczka WordPress: upPrev[/blo-link-inner]

Polecana wtyczka: Broken Link Checker

Wtyczkę poznałem całkiem niedawno, a polecił mi ją depesz, choć prawdziwsze byłoby stwierdzenie, że sam sobie ją poleciłem widząc efekt jej działania w kokpicie.

Wtyczka skanuje zawartość bloga, poszukując odnośników, po czym sprawdza czy są one dostępne. Można wybrać co ma być skanowane, a powstały raport pozwala na szybkie poprawienie lub usunięcie odnośników. Dodatkowo wtyczka tym „popsutym” może ustawić przekreślenie, dzięki czemu odwiedzający od razu widzą, że jest on prowadzący donikąd.

Strona wtyczki: Broken Link Checker.

WordPress: domyślne linkowanie mediów

Dodając obrazek do wpisów w WordPress spotkaliście się z pewną upierdliwością, z którą traktuje on załączane obrazki. Za każdym razem próbuje wstawiać odnośnik do „strony z obrazkiem” zamiast do samego obrazka.

Co ciekawe silnik WordPressa próbuje pobrać domyślną wartość aż z dwóch miejsc.

  1. Z globalnych opcji z klucza o nazwie „image_default_link_type”.
  2. Z ustawień użytkownika z klucza „urlbutton”.

Jeszcze ciekawsze jest to, że nigdzie tych opcji ustawić się nie da.

Strona 17 z 41

Oparte na WordPress & Theme by Anders Norén