web-dev-qa-db-ja.com

Wordpress添付ファイル用のデフォルトHTMLをカスタマイズする方法

私はWordpress 3.0.1(現在の最新版)を使用していて、Whiteboardテーマに取り組んでいます。

添付ファイル(特に画像)の場合、Wordpressは自動的にHTMLを生成し、次のようになります。

<div id="attachment_12" class="wp-caption alignleft" style="width: 310px">
<a rel="shadowbox" href="http://new.michaellane.com/blog/wp-content/uploads/2010/11/areamapchange.png">
<img class="size-medium wp-image-12 " title="Area Map Improvments" src="http://new.michaellane.com/blog/wp-content/uploads/2010/11/areamapchange-300x179.png" alt="Area Map Improvments" width="300" height="179" />
</a>
<p class="wp-caption-text">Area Map Improvments</p>
</div>

私はこれらの属性のいくつかは編集画面自体で変更できることを理解しています - しかし私は追加のタグ、CSSクラスなどを挿入できるようにデフォルトのHTMLコード構造を変更したいと思います。

Wp-contentフォルダ以外のファイルを編集せずにこれを実現する方法が必要です。言い換えると、これを行うにはテンプレートベースの方法がなければなりません。

5
jeffkee

追加のタグを挿入できるように、デフォルトのHTMLコード構造を変更したい

img_caption_shortcodeでフィルタを実行してください、あなたはここでソースでそのフックを見つけることができます。 http://core.trac.wordpress.org/browser/tags/3.0.1/wp-includes/media.php#L720

add_filter( 'img_caption_shortcode', 'my_caption_html', 10, 3 );
function my_caption_html( $current_html, $attr, $content ) {
    extract(shortcode_atts(array(
        'id'    => '',
        'align' => 'alignnone',
        'width' => '',
        'caption' => ''
    ), $attr));
    if ( 1 > (int) $width || empty($caption) )
        return $content;

    if ( $id ) $id = 'id="' . esc_attr($id) . '" ';

    return '<div ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: ' . (10 + (int) $width) . 'px">'
. do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';
}

私は基本的にフィルタで使用するためにオリジナルの関数からコードの大部分を借りました、しかしそれはあなたの上に構築する何かを与えるべきです...

それが役立つことを願っています.. :)

10
t31os
2
fuxia