it-swarm.com.de

Setzen Sie den Link zum Hochladen von Medienanhängen auf "Keine" und blenden Sie ihn aus WP v3.5

Wie setze ich auf der Popup-Seite zum Hochladen von Medien den Link für Anhänge auf "Keine" und verstecke ihn in Wordpress Version 3.5? Der folgende Filter hat in früheren Versionen von WP einwandfrei funktioniert:

function my_attachment_fields_edit($form_fields,$post){ 
    // Set attachment link to none and hide it.
    $html = "<input type='hidden' name='attachments[".$post->ID."][url]' value=''/>";

    $form_fields['url']['html'] = $html; //Replace html
    $form_fields['url']['label'] = ''; //Remove label
    $form_fields['url']['helps'] ='';//Remove help text

    return $form_fields;
}
add_filter('attachment_fields_to_edit', 'my_attachment_fields_edit', 10, 2);

Dies war eigentlich ein ausgezeichneter Filter, den hier jemand gepostet hat, glaube ich. Weiß jemand, wie man dies in WP 3.5 erreicht?

5

Dieses kleine Plugin einbinden, aktivieren und testen.

Eine getestete Version in 3.6-Alpha funktioniert nur, wenn Sie auf ein Miniaturbild klicken.

<?php
/**
 * Plugin Name: Remove Attachment Link-To and set to value 'none' 
 */

add_action( 'admin_footer-post-new.php', 'wpse_76214_script' );
add_action( 'admin_footer-post.php', 'wpse_76214_script' );
function wpse_76214_script() {
    ?>
    <script type="text/javascript">
    jQuery(document).ready( function($) {
        $( 'li.attachment' ).live( 'click', function( event ) {
            $( ".link-to > [value='none']").attr( "selected", true ); // selected none in select field
            $( ".link-to-custom" ).val( '' ); // clear input field for target of link
            $( '.media-sidebar div.setting' ).remove(); // remove link field
        });
    } );
    </script>
    <?php
}

// filter a-Tag in data, there was send to edit; fallback
add_filter( 'media_send_to_editor', 'wpse_76214_send_to_editor', 10, 3 );
function wpse_76214_send_to_editor( $html, $id, $attachment ) {

    $html = preg_replace( '@\<a([^>]*)>(.*?)\<\/a>@i', '$2', $html );

    return $html;
}
5
bueltge

Ein schmutziger Weg ist es, jedes Mal einzufangen, wenn jemand irgendwo klickt, und das Div auszublenden, das die "ATTACHMENT DISPLAY SETTINGS" enthält. Vorausgesetzt, Sie haben jQuery:

$(window).click(function() {
    $('.attachment-display-settings').hide();
});
0
Boris Yakubchik