web-dev-qa-db-ja.com

set_post_thumbnail_sizeのピクセルで、ピクセルではない?

新しいカスタム投稿タイプを作成しました。流動性の高いグリッドを使用しているため、投稿サムネイルまたはget_the_post_thumbnail()関数で生成された注目画像をピクセル単位ではなくパーセント単位で設定する必要があります。理想的には幅だけ(100%)を設定します。これを行う方法はありますか? add_image_size()を使う可能性がありますか?

4
daysrunaway

やってみました、

if(has_post_thumbnail()) {                    
    $image_src = wp_get_attachment_image_src( get_post_thumbnail_id(),'full' );
     echo '<img src="' . $image_src[0]  . '" width="100%"  />';
} 
11
Reigel

私はWPによって設定されたすべての幅と高さの属性を取り除くことでその問題を解決しました:

    //tidy up img tags. We don't want inline height and width added by WP.
    //we'd rather use media queries and fluid img.
        function remove_image_dim_attr($html) {
            $html=preg_replace( '/width=(["\'])(.*?)\1/', '', $html );
            $html=preg_replace( '/height=(["\'])(.*?)\1/', '', $html );
            return $html;
        }
        add_filter( 'get_image_tag','remove_image_dim_attr' );
        add_filter( 'image_send_to_editor','remove_image_dim_attr' );
        add_filter( 'post_thumbnail_html','remove_image_dim_attr' );
0
Vale

デフォルトの幅と高さの出力の単位を変更することはできませんが、cssを使って出力を上書きすることもできます。

/* these are the classes that get added per default */
img.wp-post-image
img.attachment-thumbnail
img.attachment-medium
img.attachment-large
img.attachment-full

それならbody img.attachment-large { width: 50% !important; height: 50% !important; }のような何かでそれを上書きすることができます

0
kaiser