Domyślne linkowanie plików galerii w WordPress

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

10 odpowiedzi do “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. @Anoriell: domyślnie jest do załącznika, ale w podanym kodzie, można „file” zmienić na coś innego, bo parametr obsługuje _tylko_ „file”.

  4. 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

  5. @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 ;)

  6. @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. :)

Możliwość komentowania jest wyłączona.

Jeżeli chcesz skomentować, napisz mail na adres marcin w domenie strony na której jesteś. Dodam twoj komentarz.