Como posso usar ‘orderby’ => ‘meta_value_num’ para ordenar pelo valor numérico, mesmo que o valor comece com uma palavra?

Eu estou usando 'orderby' => 'meta_value_num' para encomendar alguns barcos que eu tenho como tipo de publicação personalizado, os meta valores encomendados por, são modelos de barcos, que normalmente são apenas números, mas se você olhar para esta página: http://boats-barcos.com/brands/ferretti/ você verá que o ALTURA 840 está listado em último lugar quando deve estar entre 800 e 870. Isso é obviamente porque o valor começa com uma palavra. Como posso obter a consulta orderby para pedir somente pelo valor numérico e ignorar a palavra?

Solutions Collecting From Web of "Como posso usar ‘orderby’ => ‘meta_value_num’ para ordenar pelo valor numérico, mesmo que o valor comece com uma palavra?"

Se você olhar para as 50 perguntas mais semelhantes sobre o estouro de pilha, verá que você só pode fazer isso com dificuldade considerável, e você não terá uma consulta muito eficiente assim que conseguir funcionar. O MySQL simplesmente não foi construído para classificar desse jeito, e honestamente o padrão de sorting que deseja é realmente muito peculiar de qualquer maneira. Não é um tipo normal por qualquer padrão.

E isso é SQL puro. WP_Query é capaz de muito menos finesse – sem a aplicação de filtros de qualquer maneira.

Sua melhor abordagem será normalizar seus dados na inserção, salvando a porção numérica para uma chave e o resto em outro lugar. Ou force o número para a frente seguido de algum marcador como uma vírgula que permitirá que você faça malabarismos até o final em exibição.