例えばフルサイズ(元画像)が、
横向きの画像なら640×360
縦向きの画像なら360×640
でトリミングしたい場合。

まず、functions.php に下記のように書けばメディアにアップロードすると設定したサイズで自動生成されるようになります。

add_image_size( 'landscape', 640, 360, true );
add_image_size( 'portrait', 360, 640, true );

で、フルサイズ(元画像)がどっち向きかをチェックして、
横向きならlandscape
縦向きならportrait
のメディアが選択されるようにしてあげます。

$attachment = wp_get_attachment_image_src( $attachment_id, 'full' );
$width = esc_attr ( $attachment[1] );
$height = esc_attr ( $attachment[2] );
$orientation = $width >= $height ? 'landscape' : 'portrait';
$src = wp_get_attachment_image_url( $attachment_id, $orientation );
echo '';

$attachment_id にはメディアのIDが入ります。
カスタムフィールドなら、

$attachment_id = get_post_meta( $post->ID, 'meta_key', true );

アイキャッチなら、

$attachment_id = get_post_thumbnail_id( $post->ID );

で取得できます。