Adicionando o botão enviar ou atualizar ao metabox personalizado?

3

Eu tenho muitas caixas meta personalizadas, e o usuário tem que rolar para o topo toda vez que ele quiser salvar a meta-informação.

Existe uma maneira de colocar os botões de envio em cada meta box que faz o mesmo que o botão de atualização?

    
por hamahama 29.10.2011 / 13:13

3 respostas

11

Não sei se concordo com a resposta EarnestoDev, que é mais uma opinião do que uma resposta baseada em fatos e não é verdadeira em todos os casos, já que você pode usar o jQuery para acionar o evento submit quando um elemento diferente é clicado, então apenas adicione este código js uma vez

<script>
jQuery('.metabox_submit').click(function(e) {
    e.preventDefault();
    jQuery('#publish').click();
});
</script>

e em cada metabox adicione:

<input type="submit" class="metabox_submit" value="Submit" />
    
por Bainternet 29.10.2011 / 18:40
3

NÃO FAÇA ISSO! Há razões pelas quais os FORMs têm envios centralizados. Porque há algum processamento feito atrás da tela e um botão é seguro. Ter um botão extra em todos os seus Metaboxes também ocupará mais espaço.

Quanto mais fácil for o usuário apertar o botão, mais seguro é apostar que ele vai esquecer alguma coisa. Quanto mais difícil for enviar um post, mais certeza você poderá fazer se ele revisar as coisas adequadamente.

Um botão = IMPORTANTE . Muitos botões = importância de rebaixamento .

    
por EarnestoDev 29.10.2011 / 15:21
0

Esta é a abordagem totalmente errada para o problema (e isso é realmente uma questão de UX, não de codificação).

Quando você tem muitos botões de envio, a convenção de UX indica que cada botão enviará dados agrupados com e não com qualquer outro . Não é assim que o editor de postagens wordpress funciona, pois tem apenas uma forma e os metaboxes são apenas para efeito visual, não uma verdadeira separação de formas. Por isso, você deseja apenas um botão de envio para não confundir seus usuários.

Agora o problema com o botão é que ele rola com a página e sai do campo de visão dos usuários e ele precisa rolar para vê-lo, mas a solução é não sujar a página com dezenas de botões, mas ou flutuar o botão (adicionar algum JS para alterar a posição do css para fixo quando fica fora de vista) ou adicionar um botão de envio na barra de administração e não consigo encontrá-lo agora, mas costumava haver um plugin que faz isso .

    
por Mark Kaplun 07.04.2016 / 05:04