Как добавить поле «Ссылка на место назначения» в редакторе вложений изображений WordPress? - PullRequest
0 голосов
/ 19 октября 2010

Я использую функцию «вложения» в WordPress, чтобы позволить конечным пользователям моей темы загружать изображения, которые будут отображаться над содержимым сообщения (не вставляется в само сообщение).

Единственная проблема, которая у меня возниклав том, что нет поля, позволяющего конечному пользователю указать ссылку, которая должна быть загружена, когда конечный пользователь нажимает на одно из прикрепленных изображений.Я хотел бы добавить это поле в редактор вложений постов (тот, который перечисляет «Галерею» изображений, прикрепленных к посту).

Поочередно и, возможно, дополнительно, я бы хотел иметь возможностьсделать то же самое при просмотре изображений через список диспетчера медиа.

В настоящее время я использую поле «описание» для хранения гиперссылки на изображение.и извлекаем его следующим образом (работает отлично, но описание не семантическое, чтобы связать пункт назначения):

if ($images = get_children(array('post_parent' => get_the_ID(),'post_type' => 'attachment','post_mime_type' => 'image', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC'    )))
    {
    foreach( $images as $image ) :
        echo "<a href='".$image->post_content."'><img src='".wp_get_attachment_url($image->ID, 'medium')."' /></a>";
    endforeach;
    }   
}

1 Ответ

0 голосов
/ 21 октября 2010
function my_image_attachment_fields_to_edit($form_fields, $post) {  
    $form_fields["custom1"] = array(  
        "label" => __("Image Links To"),  
        "input" => "text", // this is default if "input" is omitted  
        "value" => get_post_meta($post->ID, "_custom1", true)  
    );    
    return $form_fields;  
}  

function my_image_attachment_fields_to_save($post, $attachment) {  
    if( isset($attachment['custom1']) ){  
        update_post_meta($post['ID'], '_custom1', $attachment['custom1']);  
    }  
    return $post;  
} 

add_filter("attachment_fields_to_edit", "my_image_attachment_fields_to_edit", null, 2); 
add_filter("attachment_fields_to_save", "my_image_attachment_fields_to_save", null, 2); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...