1 | <?php |
---|
2 | /* |
---|
3 | Plugin Name: Add Link to Large Image in Add Media Window |
---|
4 | Version: 1.0 |
---|
5 | Plugin URI: http://core.trac.wordpress.org/ticket/21114 |
---|
6 | Description: Allows to insert a link to the large version of the image into post content. |
---|
7 | Author: Robert Staddon, Sergey Biryukov |
---|
8 | */ |
---|
9 | |
---|
10 | function add_link_to_large_image( $form_fields, $post ) { |
---|
11 | $file = wp_get_attachment_url( $post->ID ); |
---|
12 | $link = get_attachment_link( $post->ID ); |
---|
13 | |
---|
14 | $url_type = get_option( 'image_default_link_type' ); |
---|
15 | if ( empty( $url_type ) ) |
---|
16 | $url_type = get_user_setting( 'urlbutton', 'post' ); |
---|
17 | |
---|
18 | $url = ''; |
---|
19 | if ( $url_type == 'file' ) |
---|
20 | $url = $file; |
---|
21 | elseif ( $url_type == 'post' ) |
---|
22 | $url = $link; |
---|
23 | |
---|
24 | if ( substr( $post->post_mime_type, 0, 5 ) == 'image' ) { |
---|
25 | $large_image_array = wp_get_attachment_image_src( $post->ID, 'large' ); |
---|
26 | $file_large = $large_image_array[0]; |
---|
27 | $url = $file_large; |
---|
28 | } |
---|
29 | |
---|
30 | $form_fields['url']['html'] = " |
---|
31 | <input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='" . esc_attr( $url ) . "' /><br /> |
---|
32 | <button type='button' class='button urlnone' data-link-url=''>" . __( 'None' ) . "</button> |
---|
33 | "; |
---|
34 | if ( ! empty( $file_large ) ) |
---|
35 | $form_fields['url']['html'] .= " |
---|
36 | <button type='button' class='button urlfile' data-link-url='" . esc_attr( $file_large ) . "'>" . __( 'Large Image' ) . "</button> |
---|
37 | "; |
---|
38 | $form_fields['url']['html'] .= " |
---|
39 | <button type='button' class='button urlfile' data-link-url='" . esc_attr( $file ) . "'>" . __( 'File URL' ) . "</button> |
---|
40 | <button type='button' class='button urlpost' data-link-url='" . esc_attr( $link ) . "'>" . __( 'Attachment Post URL' ) . "</button> |
---|
41 | "; |
---|
42 | |
---|
43 | return $form_fields; |
---|
44 | } |
---|
45 | add_filter( 'attachment_fields_to_edit', 'add_link_to_large_image', 10, 2 ); |
---|
46 | ?> |
---|