update_attached_file() WP 2.1.0

Оновлює шлях прикріпленого файлу (вкладення) у метаполі ” _wp_attached_file “. Шлях оновлюється для вказаного ID вкладення.

update_attached_file() не переміщає файл, а просто оновлює метаполі _wp_attached_file , як правило, після того, як файл був переміщений.

Ця функція використовується всередині wp_insert_post() і зазвичай не використовується окремо.

У метаполі зберігається повний шлях від кореня сервера, а відносний шлях від каталогу завантажень.

Можливо замість цієї функції вам знадобиться хук-фільтр update_attached_file– він використовується у функції перед тим, як оновити дані в метаполі.

Працює на основі:
update_post_meta() ,
delete_post_meta()

Хуки з функції

Повертає

true|false. Логічні: true при вдалому оновленні та false при невдалому.

Використання

update_attached_file($attachment_id, $file);
$attachment_id
(число) (обов’язковий)
ID прикріпленого файлу (вкладення).
$file
(рядок) (обов’язковий)
Новий шлях до файлу-вкладення, який потрібно записати.

Приклади

0

#1 Приклад роботи

Допустимо ми записали новий файл і нам потрібно оновити шлях до файлу, який зберігається в метаполі _wp_attached_file .

update_attached_file($post_ID, $postarr['file']);

список змін

З версії 2.1.0Введено.

Код update_attached_file() WP 6.0.2

function update_attached_file( $attachment_id, $file ) {
	if ( ! get_post( $attachment_id ) ) {
		return false;
	}

	/**
	 * Filters path to the attached file to update.
	 *
	 * @ Since 2.1.0
	 *
	 * @param string $file Оцінка файлу для оновлення.
	 * @param int $attachment_id Attachment ID.
	 */
	$file = apply_filters( 'update_attached_file', $file, $attachment_id );

	$ file = _wp_relative_upload_path ($ file);
	if ($file) {
		return update_post_meta( $attachment_id, '_wp_attached_file', $file );
	} else {
		return delete_post_meta($attachment_id, '_wp_attached_file');
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *