Não é a abordagem correta, já que você está em uma página de edição post (cpt), os metabox são campos agrupados que são anexados ao formulário de postagem e, no seu caso, é o navegador que está filtrando os atributos de formulário do metabox e não WordPress desde que você está criando formulários aninhados que é algo que você simplesmente não pode fazer.
Uma abordagem melhor seria não ter a forma dentro de um metabox, mas aqui fora é um exemplo usando o thickbox nativo:
Primeiro, adicione o botão para acessar o thickbox:
//add the button to lanch the thickbox
add_action( 'media_buttons','add_vimeo_upload_button',100);
function add_vimeo_upload_button(){
global $pagenow,$typenow;
if (!in_array( $pagenow, array( 'post.php', 'post-new.php' ) ))
return;
echo '<a href="#TB_inline?height=155&width=300&inlineId=vimeo_upload" class="thickbox"><img src="http://i.imgur.com/5hyoa.png"alt="Upload to vimeo"></a>';
}
Adicionar formulário html fora do formulário de postagem ex:
//add form html outside post form
add_filter('admin_footer','vimeo_upload_form');
function vimeo_upload_form(){
global $pagenow,$typenow;
if (!in_array( $pagenow, array( 'post.php', 'post-new.php' )))
return;
//once we get here we are on the right page so we echo form html:
?>
<div id="vimeo_upload" style="display:none">
<form method="POST" action="vimeo/url">
<p><label>Upload video to Vimeo</label>
<input type="file" name="" value="" placeholder=""></p>
<p><input type="submit" name="" value="upload"></p>
</form>
</div>
<?php
}
Você deve conseguir algo assim:
-
O botão de mídia:
Oformulárionothickbox: