Bardzo krótko i bardzo szybko. Kod powoduje, że galerie linkują do pliku graficznego, a nie do strony załącznika. Jest odpowiedzią na pytanie zadane na twarzoksiążce.

class iWorks_Default_Gallery_Link
{
    public function __construct()
    {
        add_filter( 'the_content', array( &$this, 'the_content' ), 1 );
    }
 
    public function the_content( $content )
    {
        return preg_replace( '/(\[ gallery[^\]]*)\]/', "$1 link=\"file\"]", $content );
    }
 
}
new iWorks_Default_Gallery_Link();

Uwaga w kodzie na stronie jest błąd w preg_replace, bo w tym miejscu pojawiała się galeria :D Jeżeli kopiujesz powyższy kod, usuń spację między [ a słowem gallery.

pobierz plik: iworks-gallery-default-file.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

Published by Marcin Pietrzak

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec ante nec lectus laoreet feugiat. Donec aliquet justo in tellus gravida, id elementum magna convallis. Curabitur faucibus mauris sed risus egestas lobortis. Nunc vestibulum elit ac ipsum ultricies, non ultrices lorem ultrices. Nam at dolor id elit lobortis ullamcorper. Fusce commodo turpis nisi, efficitur efficitur libero dictum eget. Morbi viverra dignissim lacus. Vestibulum mi justo, dictum ut iaculis eget, scelerisque et nibh.

10 replies on “Domyślne linkowanie plików galerii w WordPress”

  1. A jest jakiś kod, którym dałoby się w ogóle wyłączyć możliwość linkowania do strony załącznika?

  2. Przeglądając nowy domyślny szablon to w wersji 3.6 powinien pojawić się filtr do galerii gdzie będzie można ustawić poszczególne wartości shortcode_atts_gallery.

  3. Sposób prosty i skuteczny.
    Ja robię nieco inaczej, koryguję szorty już/tylko na etapie zapisu (ale można i puścić filtrem na the_content) i nie ruszam tych ze zdefiniowanym linkowaniem (wszak czasem po prostu w którymś miejscu chcę odesłać do strony załącznika).
    http://pastebin.com/2exgibTj – skrobnięte kiedyś po piwku na szybko, ale ważne że działa.

    @Anoriell, ale co konkretnie masz na myśli?
    -kod podany przez Marcina wymusi na wszystkich galeriach linkowanie do załącznika – nawet tam gdzie ustawione jest linkowanie do strony załącznika.
    Jednakże same URLe stron załączników będą działały – jeżeli chcesz to zmienić, to możesz utworzyć w motywie plik image.php a w nim zwrócić bład 404 http://pastebin.com/GGzW4FjZ , przekierować na stronę wpisu http://pastebin.com/a5457s32 lub do pliku załącznika http://pastebin.com/aKjnU4UZ

  4. @Paweł: Chodzi mi o to, żeby przy wstawianiu galerii lub po prostu obrazka do wpisu na liście wyboru w ogóle nie było opcji: „Strona załącznika”. Niejednokrotnie w przypadku pracy z klientami bardzo dużym ułatwianiem sobie życia jest stosowanie się do starego powiedzenia: „Czego oczy nie widzą, tego…”, no wiesz ;)

  5. @Marcin, naprawili …tak jakby ;p
    Nie ma już problemu z ustawianiem niewłaściwego typu na defaulcie – ot przywrócili na pierwszej pozycji listy linkowanie do strony załącznika.
    Natomiast same szorty działają jak działały tj. bez parametru link=”file” linkuje domyślnie do strony załącznika.
    -czyli nadal jeżeli ktoś chce to zmienić, trzeba „kombinować” po naszemu. :)

    @anoriell, rozumiem. Da się. Można kombinować JS lub CSS’em -chociaż mnie się to jakoś nie udało w sposób zadowalający.
    Jeżeli ktoś sobie z tym skutecznie poradził, może podzieli się działającym sposobem.
    Za to udało mi się coś takiego zrobić przez podczepienie zmodyfikowanego szablonu mediów – wyszło przy tym kilka ciekawostek. :)

Comments are closed.

Przeczytaj poprzedni wpis:
Rewolucyjna zmiana w WordPressie?

Pojawiła się pierwsza wypowiedź dotycząca następnej dużej wersji WP, czyli do wersji 4.0. Zapowiada się małe trzęsienie ziemi, które powinno...

Zamknij