web-dev-qa-db-fra.com

Ajouter automatiquement cet attribut au shortcode de la galerie

Lors de l'insertion d'une galerie, il ajoute le shortcode suivant:

[gallery columns="6" ids="18,150,146,23,147,17,21,20,22"]

Je voudrais qu'il ajoute automatiquement link = "file" comme dernier attribut, chaque fois qu'un shortcode est ajouté. Ainsi:

[gallery columns="6" ids="18,150,146,23,147,17,21,20,22" link="file"]
3
Alexnl

Vous pouvez pirater le gestionnaire de shortcode et définir l'attribut sur une valeur de votre choix. Appelez ensuite le rappel natif pour ce shortcode.

add_shortcode( 'gallery', 'file_gallery_shortcode' );

function file_gallery_shortcode( $atts )
{
    $atts['link'] = 'file';
    return gallery_shortcode( $atts );
}
5
fuxia

Il existe un nouveau filtre shortcode_atts_{$shortcode} dans WordPress 3.6 selon Mark Jaquith .

Vous pouvez utiliser le filtre shortcode_atts_gallery pour forcer l'attribut link='file':

add_filter('shortcode_atts_gallery','overwrite_gallery_atts_wpse_95965',10,3);
function overwrite_gallery_atts_wpse_95965($out, $pairs, $atts){
    // force the link='file' gallery shortcode attribute:
    $out['link']='file'; 
    return $out;
}

lorsque vous avez mis à niveau vers 3.6.

Vous pouvez le vérifier dans /wp-includes/shortcodes.php à partir du Core-Trac-Trunk :

http://core.trac.wordpress.org/browser/trunk/wp-includes/shortcodes.php#L316

6
birgire