web-dev-qa-db-ja.com

この属性をギャラリーのショートコードに自動的に追加します

ギャラリーを挿入すると、次のショートコードが追加されます。

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

ショートコードが追加されるたびに、自動的に最後の属性としてlink = "file"を追加したいと思います。そのようです:

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

ショートコードハンドラをハイジャックして、属性を任意の値に設定できます。次に、このショートコードのネイティブコールバックを呼び出します。

add_shortcode( 'gallery', 'file_gallery_shortcode' );

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

Mark Jaquith によると、WordPressのshortcode_atts_{$shortcode}に新しい3.6フィルタがあります。

shortcode_atts_galleryフィルタを使用して、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;
}

3.6にアップグレードしたとき。

Core-Trac-Trunk /wp-includes/shortcodes.phpでチェックアウトできます。

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

6
birgire