Intereting Posts

Как обновить значения при изменении выбранного изображения?

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

Я новичок в этом перехвате и фильтрует вещи с помощью WordPress, поэтому простите мое невежество.

Заранее спасибо!

//Color dominance detection and saving. add_action('update_post_meta', 'color_dominante', 10, 1); function color_dominante($attachment_id) { if (!wp_attachment_is_image($attachment_id)) return; $upload_dir = wp_upload_dir(); $image = $upload_dir['basedir'].'/'.get_post_meta($attachment_id, '_wp_attached_file', true); if (!$image) return; try { $dominantColor = ColorThief::getColor($image); } catch(Exception $e) { return; } $hex = rgb2hex($dominantColor); update_post_meta($attachment_id, 'dominant_color_hex', $hex); update_post_meta($attachment_id, 'dominant_color_rgb', $dominantColor); $palette = ColorThief::getPalette($image, 8); update_post_meta($attachment_id, 'color_palette_rgb', $palette); $hex_palette = array(); foreach($palette as $rgb) { $hex_palette[] = rgb2hex($rgb); } update_post_meta($attachment_id, 'color_palette_hex', $hex_palette); }