Hi there,
It’s not a bug, it’s just how it’s made. X theme is made to work for multiple devices with responsive structure. The image sizes are registered to accommodate smaller and bigger screen, hence, the image that’s going to be displayed is a bit bigger for retina displays.
Plus, there are two ways to assign image and it’s through attachment ID or through URL. If it’s by ID, then it will pick the image that matches the ID with “full-size” image, if it’s through URL then it will simply display it.
The reason why there is no size selection in that media popup is that it’s being picked up as an ID. If it’s picked up as URL and each size has their own URL, then selection should appear but it isn’t. And here is the core code for that
function x_shortcode_image( $atts ) {
extract( shortcode_atts( array(
'id' => '',
'class' => '',
'style' => '',
'type' => '',
'float' => '',
'src' => '',
'alt' => '',
'link' => '',
'href' => '',
'title' => '',
'target' => '',
'info' => '',
'info_place' => '',
'info_trigger' => '',
'info_content' => '',
'lightbox_thumb' => '',
'lightbox_video' => '',
'lightbox_caption' => ''
), $atts, 'x_image' ) );
$id = ( $id != '' ) ? 'id="' . esc_attr( $id ) . '"' : '';
$class = ( $class != '' ) ? 'x-img ' . esc_attr( $class ) : 'x-img';
$style = ( $style != '' ) ? 'style="' . $style . '"' : '';
$type = ( $type != '' ) ? ' x-img-' . $type : '';
$float = ( $float != '' ) ? ' ' . $float : '';
$src = ( $src != '' ) ? $src : '';
$alt = ( $alt != '' ) ? 'alt="' . $alt . '"' : '';
$link = ( $link == 'true' ) ? 'true' : '';
$link_class = ( $link == 'true' ) ? ' x-img-link' : '';
$href = ( $href != '' ) ? $href : $src;
$title = ( $title != '' ) ? 'title="' . $title . '"' : '';
$target = ( $target == 'blank' ) ? 'target="_blank"' : '';
$lightbox_thumb = ( $lightbox_thumb != '' ) ? $lightbox_thumb : $src;
$lightbox_video = ( $lightbox_video == 'true' ) ? ', width: 1080, height: 608' : '';
$lightbox_caption = ( $lightbox_caption != '' ) ? 'data-caption="' . $lightbox_caption . '"' : '';
$tooltip_attr = ( $info != '' ) ? cs_generate_data_attributes_extra( $info, $info_trigger, $info_place, '', $info_content ) : '';
if ( is_numeric( $src ) ) {
$src_info = wp_get_attachment_image_src( $src, 'full' );
$src = $src_info[0];
}
if ( is_numeric( $href ) ) {
$href_info = wp_get_attachment_image_src( $href, 'full' );
$href = $href_info[0];
}
if ( is_numeric( $lightbox_thumb ) ) {
$lightbox_thumb_info = wp_get_attachment_image_src( $lightbox_thumb, 'full' );
$lightbox_thumb = $lightbox_thumb_info[0];
}
if ( $lightbox_video != '' ) {
$lightbox_options = "data-options=\"thumbnail: '" . $lightbox_thumb . "'{$lightbox_video}\"";
} else {
$lightbox_options = "data-options=\"thumbnail: '" . $lightbox_thumb . "'\"";
}
if ( $link == 'true' ) {
$output = "<a {$id} class=\"{$class}{$link_class}{$type}{$float}\" {$style} href=\"{$href}\" {$title} {$target} {$tooltip_attr} {$lightbox_caption} {$lightbox_options}><img src=\"{$src}\" {$alt}></a>";
} else {
$output = "<img {$id} class=\"{$class}{$type}{$float}\" {$style} src=\"{$src}\" {$alt}>";
}
return $output;
}
add_shortcode( 'x_image', 'x_shortcode_image' );
And to be specific, it’s in this line
if ( is_numeric( $src ) ) {
$src_info = wp_get_attachment_image_src( $src, 'full' );
$src = $src_info[0];
}
if ( is_numeric( $href ) ) {
$href_info = wp_get_attachment_image_src( $href, 'full' );
$href = $href_info[0];
}
If you prefer displaying the smaller thumbnails, then yes, you can use the shortcode and manually add the thumbnail URL.
Thanks!