Как добавить копирайты к изображениям, загруженным в блог

Как добавить копирайты к изображениям, загруженным в блог | n-wp.ru

Если создается авторский фото-блог, в котором будут выкладываться на всеобщее обозрение фотографии, использование которых защищено определенными копирайтами (правами на копирование и использование), то встает задача добавить к каждой фотографии информацию о копирайтах. Каждый автор фотографии сам определяет, на каких правах он распространяет свои изображения, поэтому нет смысла жестко закреплять условия распространения (хотя стоит ввести определенные копирайты, которые используются по умолчанию, если не определены иные условия распространения), а вот дать возможность указать собственные права на фотографии самому автору смысл есть – администратору не нужно будет заботиться о прописывании копирайтов к каждой фотографии, это право дается самому автору. Давайте посмотрим, как можно добавить к медиафайлам, закачиваемым в блог, поле для вставки копирайтов, и как эти данные можно использовать при отображении фотографии.

Как добавить копирайты к изображениям, загруженным в блог

Для начала нужно добавить возможность ввода данные о копирайтах на фотографию в специальное поле, отображаемое при закачивании этой фотографии в блог. Для этого добавьте в файл functions.php:

// Добавляем поле "Copyright" в диалог закачки изображения
function add_copyright_field_to_media_uploader( $form_fields, $post ) {
	$form_fields['copyright_field'] = array(
		'label' => __('Copyright'),
		'value' => get_post_meta( $post->ID, '_custom_copyright', true ),
		'helps' => 'Укажите права использования и их владельца'
	);
 
	return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'add_copyright_field_to_media_uploader', null, 2 );
 
// Сохраняем значение поля "Copyright" для каждого изображения
function add_copyright_field_to_media_uploader_save( $post, $attachment ) {
	if ( ! empty( $attachment['copyright_field'] ) ) 
		update_post_meta( $post['ID'], '_custom_copyright', $attachment['copyright_field'] );
	else
		delete_post_meta( $post['ID'], '_custom_copyright' );
 
	return $post;
}
add_filter( 'attachment_fields_to_save', 'add_copyright_field_to_media_uploader_save', null, 2 );
 
// Отображаем значение поля
function get_featured_image_copyright( $attachment_id = null ) {
	$attachment_id = ( empty( $attachment_id ) ) ? get_post_thumbnail_id() : (int) $attachment_id;
 
	if ( $attachment_id )
		return get_post_meta( $attachment_id, '_custom_copyright', true );
 
}

Теперь для вывода значения Copyright можно использовать функцию:


В качестве аргумента в этой функции можно использовать ID изображения, добавленного в блог. Если же не указывать ID, то будет выведено значение данных Copyright для изображения, используемого в качестве миниатюры текущего поста.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*