web-dev-qa-db-ja.com

メディアアップロード添付ファイルリンクをなしに設定して非表示にする WP v3.5

Media uploadのポップアップページで、添付ファイルのリンクをnoneに設定し、Wordpressバージョン3.5で非表示にするにはどうすればよいですか。次のフィルタは、以前のバージョンのWPでは正常に機能しました。

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);

これは実際にここで誰かが投稿した素晴らしいフィルターでした。 WP 3.5でこれを達成する方法を誰かが知っていますか?

5

この小さなプラグインを含めて、アクティブ化してテストしてください。

3.6-alphaのテスト済みバージョンは、サムネイルをクリックしたときにのみ機能します。

<?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

汚い方法は、誰かがどこかをクリックして "ATTACHMENT DISPLAY SETTINGS"を含むdivを隠すことをいつでもキャッチすることです。 jQueryがあるとします。

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