dig*_*dig 4 php wordpress themes image srcset
Wordpress自动为来自帖子的所有图像添加属性srcset。sizes那\xe2\x80\x99s 非常整洁。
但是如何让 WordPress 将这些属性添加到来自定制程序输入的图像中呢?
\n\n就我而言:帖子的默认图像。当帖子中未上传图像时,会显示该默认图像。它\xe2\x80\x99s由用户通过定制器上传并使用调用get_theme_mod。
来自帖子的图像(工作正常,所有属性均已添加):
\n\nget_the_post_thumbnail($post->ID, \'news\', array(\'class\' => \'img-responsive\'));\nRun Code Online (Sandbox Code Playgroud)\n\n如果未提供图像:加载默认图像(没有 \xe2\x80\x99scrset\xe2\x80\x99 和 \xe2\x80\x99sizes\xe2\x80\x99)
\n\n\'<img src="\' . esc_url( get_theme_mod( \'default_image\' ) ) . \'" alt="default image" class="img-responsive" />\'\nRun Code Online (Sandbox Code Playgroud)\n\nwp_image_add_srcset_and_sizes()似乎是要走的路,但它需要我不\xe2\x80\x99不知道从哪里获得的属性。
感谢您的帮助!
\n这个函数可以解决这个问题:
function create_responsive_image( $img ) {
$img_id = attachment_url_to_postid( $img );
$img_srcset = wp_get_attachment_image_srcset( $img_id );
$img_sizes = wp_get_attachment_image_sizes( $img_id );
return '<img src="' . $img . '" srcset="' . esc_attr( $img_srcset ) . '" sizes="' . esc_attr( $img_sizes ) . '">';
}
Run Code Online (Sandbox Code Playgroud)