WordPress images not cropping properly

It sounds like your problem occurs before the image is cropped/ resized and displayed in the page – the original image is too small.

You can require minimum dimensions for uploaded images, see: How to Require a Minimum Image Dimension for Uploading?

Then, to resize the uploaded image without cropping it, define the image size with a ‘soft crop’ using ‘false’ in the third parameter:

add_image_size('general-thumb', 600, 339, false);

Finally, using the image as a background image for an element may be an alternative way of getting the sizing right.

You can position the element within your layout with whatever height, width, minimum height etc is required and use the CSS background-size to fill/ position the image within the element.

For example:

background-size: contain;

Will ensure the image is as large as possible without hiding any part of it.

See: https://developer.mozilla.org/en-US/docs/Web/CSS/background-size