Rápido e direto ao ponto:
- A função que consulta os metadados não tem um ORDER BY
- As tabelas MyISAM mudam a ordem dos dados quando atualizadas
- Mude para InnoDB, então todas as consultas sem “ORDER BY” são classificadas por chave primária e seus resultados estarão sempre na mesma ordem 🙂
… aliás, este bug é relatado e deve ser corrigido no WordPress 3.8
léelo en español en: http://www.yukei.net/2013/11/wordpress-get_post_meta-devuelve-resultados-en-orden-aleatorio/