나는 첨부 파일 페이지를 지우는 데 적어도 손을 뻗을 시간이되었을 것이라고 생각했다.
여기에 첫 번째 장면이 있습니다 ...
add_filter( 'attachment_fields_to_edit', 'wpse_25144_attachment_fields_to_edit', 10000, 2 );
function wpse_25144_attachment_fields_to_edit( $form_fields, $post ) {
$url_type = get_option( 'image_default_link_type' );
if( 'post' == $url_type ) {
update_option( 'image_default_link_type', 'file' );
$url_type = 'file';
}
$form_fields['url'] = array(
'label' => __('Link URL'),
'input' => 'html',
'html' => wpse_25144_image_link_input_fields( $post, $url_type ),
'helps' => __('Enter a link URL or click above for presets.')
);
return $form_fields;
}
function wpse_25144_image_link_input_fields($post, $url_type = '') {
$file = wp_get_attachment_url($post->ID);
if( empty( $url_type ) )
$url_type = get_user_setting( 'urlbutton', 'file' );
$url = '';
if( $url_type == 'file' )
$url = $file;
return "
<input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='" . esc_attr($url) . "' /><br />
<button type='button' class='button urlnone' title=''>" . __('None') . "</button>
<button type='button' class='button urlfile' title='" . esc_attr($file) . "'>" . __('File URL') . "</button>
";
}
add_filter( 'query_vars', 'wpse_25144_query_vars', 10000, 2 );
function wpse_25144_query_vars( $wp_query_vars ) {
foreach( $wp_query_vars as $i => $qv ) {
if( in_array( $qv, array( 'attachment', 'attachment_id' ) ) )
unset( $wp_query_vars[$i] );
}
return $wp_query_vars;
}
add_filter( 'attachment_link', 'wpse_25144_attachment_link', 10000, 2 );
function wpse_25144_attachment_link( $link, $id ) {
$link = wp_get_attachment_url( $id );
return $link;
}
add_filter( 'rewrite_rules_array', 'wpse_25144_rewrite_rules_array', 10000 );
function wpse_25144_rewrite_rules_array( $rewriteRules ) {
foreach( $rewriteRules as $pattern => $query_string ) {
if( false === strpos( $pattern, 'attachment' ) && false === strpos( $query_string, 'attachment' ) )
continue;
unset( $rewriteRules[$pattern] );
}
return $rewriteRules;
}
첨부 파일 재 작성을 제거하고, 첨부 파일을 가리 키도록 첨부 파일 링크를 업데이트합니다 (퍼머 링크 대신).
비평 할 수 있습니다. :)