Defina o tipo de link padrão como "file" para galerias de imagens

3

Sempre que você adicionar uma galeria de imagens a uma postagem, as imagens serão vinculadas automaticamente às páginas de anexo da imagem. Isso não é o ideal, porque eu quero usar o Fancybox para que o usuário possa percorrer as imagens.

Eu tentei o código a seguir para deixar as imagens linkarem para os arquivos por padrão, mas isso não parece funcionar para galerias. Alguma sugestão sobre como definir o tipo de link padrão para "arquivo" para galerias de imagens?

Eu ficaria ainda mais feliz se a página de anexo da imagem não estivesse disponível (em galerias de imagens regulares). Eu realmente não gosto desse recurso.

/**
 * Set default image link type to file
 */
function tp_set_default_link_type() {
    update_option( 'image_default_link_type', 'file' );
}
add_action( 'after_switch_theme', 'tp_set_default_link_type' );

Obrigado antecipadamente!

    
por Sjoerd Boerrigter 08.08.2014 / 17:13

3 respostas

6

Você pode substituir o atributo link do shortcode da galeria por:

add_filter( 'shortcode_atts_gallery',
    function( $out ){
        $out['link'] = 'file'; 
        return $out;
    }
);

Isso significa que, mesmo que seus códigos de acesso sejam:

[gallery ids="1,2,3"]
[gallery ids="1,2,3" link="none"]

a saída da galeria sempre será gerada como se você usasse link="file" .

    
por birgire 08.08.2014 / 17:32
5

Existe agora (da versão 4.0) uma solução muito melhor que, na verdade, define a opção padrão:

function my_gallery_default_type_set_link( $settings ) {
    $settings['galleryDefaults']['link'] = 'file';
    return $settings;
}
add_filter( 'media_view_settings', 'my_gallery_default_type_set_link');

view: Link padrão da galeria de overide para as configurações

    
por jmarceli 27.10.2015 / 11:55
0

Baseado na resposta birgire , mas mais flexível e corrigido

  

a saída da galeria sempre será gerada como se você usasse link="file"

e ainda poderá usar link="none" por exemplo

/**
 * Set default link type to “file” for image galleries when link isn't set
 */
add_filter( 'shortcode_atts_gallery',
    function( $out ){
        if( !array_key_exists('link', $out)
            || empty($out['link'])
          )
          $out['link'] = 'file';

        return $out;
    }
);
    
por Antony Gibbs 09.11.2017 / 16:53

Tags