Kategoria: Snippet

  • WordPress: omiń 3 wpisy na stronie głównej

    WordPress: omiń 3 wpisy na stronie głównej

    Na forum WordPressa mateoo88 zapytał(a): Potrzebuję tak przerobić kod odpowiedzialny za wyświetlanie wpisów aby wyświetlały mi się one np od 4 (aby 4 wpis był wyświetlany jako pierwszy a 1,2 i 3 wpis był ignorowany). I moja pierwsza myśl była następująca: add_filter( 'posts_request’, 'a’ ); function a( $query ) { if ( is_home() ) { if ( preg_match( '/LIMIT (\d+), (\d+)/’, $query, $matches ) ) { $offset […]

  • WordPress: jak zrobić stronę archiwum?

    WordPress: jak zrobić stronę archiwum?

    Na mojej stronie jakiś czas temu pojawił się odnośnik do strony zbiorczej archiwum, prezentującej listę lat i miesiącami wraz liczbą wpisów. Dostałem kilka pytań jak to jest zrobione, ponieważ standardowa funkcja wp_get_archives, nie ma podziału pozwalającego pogrupować wpisy jeszcze względem roku.

  • WordPress – jak stworzyć stronę z autorami

    WordPress – jak stworzyć stronę z autorami

    Lista autorów może przydać się na tych wszystkich serwisach, na które nie są prowadzone przez jedną osobę, a chcielibyśmy wyświetlić listę wszystkich piszących na danym blogu. Sposobów na utworzenie strony zawierającej listę autorów jest co najmniej kilka, choć wszystkie mniej lub bardziej sprowadzą się do wykorzystania funkcji get_users, która pozwala na pobranie listy użytkowników.

  • WordPress: klasa css dla tagu body

    WordPress: klasa css dla tagu body

    Jak jest jest budowana klasa dla tagu body? Jak to wykorzystać i jak zmienić? Co można na tym zyskać, a co stracić i właściwie do czego jest to potrzebne? Skąd się właściwie bierze atrybut class w tagu body? Prawidłowo skonstruowany szablon WordPressa, oprócz kilku innych elementów, zawiera też w otwierający tagu body poniższy kod, który to odpowiedzialny jest za atrybut class tegoż tagu. <body <?php body_class($class); ?>>

  • WordPress: jak odpytać inną bazę?

    WordPress: jak odpytać inną bazę?

    Trafił mi się przypadek, w którym WordPress miał odpytywać inną bazę, zawierającej wyniki cząstkowe pewnego konkursu. Pierwszą myślą było skorzystanie z funkcji PHP, ale skoro WordPress ma wbudowaną obsługę baz danych, to powinno być oczywistą oczywistością, żeby z tego skorzystać. Kod jest króciutki, bo chodzi o ideę, a nie rozwiązanie: global $wpdb; $db2 = new $wpdb( 'db_user’, 'db_pass’, 'db_name’, 'db_host’ ); $q = $db2->get_results( 'SELECT code, value FROM […]

  • WordPress: blokowanie w robots.txt kilku rzeczy

    WordPress: blokowanie w robots.txt kilku rzeczy

    W wielu miejscach i przez wiele osób poruszana jest kwestia bezpieczeństwa WordPressa, ale bardzo mało uwagi poświęcone jest niepozornemu zaganieniu, jakim jest plik robots.txt, który sam z siebie nie poprawia bezpieczeństwa, ale wpływa na to co z naszego serwisu skopiują sobie wyszukiwarki. Zdaję sobie sprawę, że wyszukiwarki tak naprawdę i tak chodzą po tych miejscach, ale przynajmniej nie prezentują na cały świat zawartości. Zaprezentowany kawałek kodu dodaje do pliku robots.txt wpisy, informujące roboty, której treści serwisu nie publikować. […]

  • WordPress: jak zmodyfikować atrybuty ikony wpisu?

    WordPress: jak zmodyfikować atrybuty ikony wpisu?

    Za pomocą funkcji get_the_post_thumbnail1 można w szablonie wstawić miniaturki wpisu, zwane „ikoną wpisu”. Czasem przydałoby się zmodyfikować to co dostajemy na wyjściu i poniżej zaprezentowane są trzy różne sposoby wykorzystania filtra post_thumbnail_html, dzięki któremu można usunąć, zmienić bądź dodać atrybuty obrazka. Żeby usunąć atrybuty „width” oraz „height” z tego co WordPress produkuje jako ikonę wpisu użyj takiego kodu: add_filter( 'post_thumbnail_html’, create_function( '$html’, 'return preg_replace( \’/ (width|height)=”\d+”/\’, \’\’, $html );’ […]

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

    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) […]

  • WordPress: Jak skasować starsze niż miesiąc wersje wpisów?

    WordPress: Jak skasować starsze niż miesiąc wersje wpisów?

    Zastanawialiście się może kiedyś jak przyrasta baza danych waszego serwisu opartego o WordPress? Jeżeli nie publikujecie kilku wpisów dziennie, to może nie jest to jakaś niesamowita wielkość ale coś tam się dzieje. Każde zapisanie przygotowywanego wpisu tworzy w bazie danych jego wersję i o ile macie ustawioną stałą WP_POST_REVISIONS na wartość większą od zera, to system nie stworzy więcej niż zdefiniowana wartość i tu mógłbym skończyć moje rozważania. Ale… No właśnie jest […]

  • WordPress: losowa kolejność postów

    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 ) { […]