Como estender a funcionalidade LINK TO em CONFIGURAÇÕES DE EXIBIÇÃO DO ANEXO

4

No WP 3.4.xe anterior, era possível adicionar um botão ao gerenciador de mídia, mexendo em um filtro attachment_fields_to_edit . Por exemplo, um plug-in poderia, quando descobrisse que um item era um arquivo de áudio, anexar algum HTML a um botão extra ao campo de URL, dessa forma.

 $playertag = "[audio $url]";
 $fields['url']['html'] .= 
      "<button type='button' class='button data-link-url='$playertag' urlaudioplayer audio-player-$postid'>Audio Player</button>"; 

O novo gerenciador de mídia alterou o conjunto de botões que estavam nessa tag html para um menu suspenso - um item <select .../> . O código html é emitido em media-template.php. O novo código ainda chama attachment_fields_to_edit filters, mas não passa em nenhum campo.

Existe uma maneira de estender este item selecionado sem invadir o núcleo (o que não farei). É possível escrever um pouco de js que usará o jQuery para adicionar um item a ele?

    
por O. Jones 15.12.2012 / 01:28

1 resposta

2

Sim, é possível da mesma maneira que antes. Eu não sei porque você acha que o filtro não está passando mais os parâmetros.

add_filter('attachment_fields_to_edit', 'user16975_edit_fields', 10, 2);
function user16975_edit_fields($form_fields, $attachment){

    // check for an audio attachment
    if ( substr($attachment->post_mime_type, 0, 5) == 'audio' ) {
        $playertag =  $playertag = "[audio ".wp_get_attachment_url($attachment->ID)."]";
        $form_fields["audioplayer"] = array(
            "label" => "Audio player",
            "input" => "html",
            "html" => "<button type='button' class='button' data-link-url='$playertag' audioplayer='audio-player-{$attachment->ID}'>Audio Player</button>",
        );
    }

    return $form_fields;
}

Aqui está o resultado:

    
por Fabien Quatravaux 01.07.2013 / 03:05