Several things could be impacting the image quality, but the biggest impact is calling the_post_thumbnail()
without giving it a size. By default that will get the “thumbnail” image size, which by default is 150×150 pixels.
Try this instead:
the_post_thumbnail('full', array('class' => ' responsiveThumbnail'));
Then you’ll be pulling the full-size image rather than the autogenerated thumbnail.
If you’re still not getting the quality you’d like after you confirm you’re pulling full-sized images, check:
- Plugins – some image plugins may adjust the image quality. You may want to disable any image-related plugins to see if it makes a difference.
- Core image quality setting – Core itself compresses somewhat by default. You can override this with
<?php
add_filter('jpeg_quality', function($arg){return 100;});
?>