WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

[РЕШЕНО] Имена картинок из свойства «Название»

Искал решение текущего вопроса, нашёл и решение старого запись свойств JPG/JPEG

Добавляю картинку - title и slug добавляется в базу данных из свойства файла, а не из имени файла. Ещё прикол в том что у картинок есть глубокие свойства IPTC "Имя объекта" - и вордпресс так же берет от туда данные, а не из имени файла.

Как с этим бороться - куда врезаться или как переключить ?

--

пробовал врезаться, но что-то обрабатывает (exif и iptc) раньше

add_filter('wp_handle_upload_prefilter'

#1 решение через костыль

Сделал ковырянием и не по людски. Залез в wp_read_image_metadata (wp-admin/includes/image.php)

    if ( empty( $meta['title'] ) && $description_length < 80 ) {
				// Assume the title is stored in ImageDescription.
				$meta['title'] = trim( $exif['ImageDescription'] ); //либо $meta['title'] = ""
			}

убил эти строки и все заработало,

#2 Через mu-plugins и фильтр

add_filter( 'wp_read_image_metadata', 'filter_function_name_6798', 10, 5 );
	function filter_function_name_6798( $meta, $file, $image_type, $iptc, $exif ){
		// filter...
		$meta['title'] = "";
		return $meta;
	}
Заметки к вопросу:
campusboy 1 месяц назад

Странно. Перепроверил, у меня именно так и работает! Версия WP 5.6, на предыдущей было так же.

kolshix 1 месяц назад

фиг его знает , по ходу нужно плагины или тем ы перепроверять - у меня из свойств тянет альт и имя

0
kolshix
1 месяц назад 682
  • 0
    el-lable465 el-lable.ru

    А GD2 такое умеет?

    kolshix 1 месяц назад

    не знаю .

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

    kolshix 1 месяц назад

    Сделал ковырянием и не по людски
    Залез в
    wp_read_image_metadata (wp-admin/includes/image.php)

        if ( empty( $meta['title'] ) && $description_length < 80 ) {
    				// Assume the title is stored in ImageDescription.
    				$meta['title'] = trim( $exif['ImageDescription'] ); //либо $meta['title'] = ""
    			}

    убил эти строки и все заработало,

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация