Squeak.ru - шаблоны программирования

Wordpress: автоматический выбор категории на основе соотношения сторон изображения

Я хочу создать систему, которая, когда я создаю сообщение, загружаю и устанавливаю избранное изображение, на основе соотношения сторон рекомендуемого изображения WordPress выбирает одну из трех созданных категорий (Пейзаж, Портрет или Квадрат)

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

Спасибо!

НЕТ ПЛАГИНОВ!

02.03.2016

  • Добро пожаловать в SO, пожалуйста, будьте немного более конкретными, когда задаете вопрос: что вы пробовали, чего вы ожидаете и т. д. См. , как спросить 02.03.2016
  • Например: если я загружаю изображение в формате 16:9, оно автоматически выбирает категорию «пейзаж». соотношение сторон выбранного изображения, чтобы WordPress автоматически выбирал категорию публикации: альбомная, портретная или квадратная. 02.03.2016

Ответы:


1

Wordpress работает с концепцией хуков: при определенных событиях он вызывает все функции, связанные с этим событием. Например, когда вы сохраняете сообщение, WordPress выполняет do_action('save_post', $post_id), поэтому вы можете работать с недавно сохраненным контентом. Я привожу здесь непроверенный код, но он, по крайней мере, послужит вам отправной точкой для поиска пути.

function check_thumbnail_size($post_id) {
    if (has_post_thumbnail($post_id)) {
        $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post_id), 'full');

        if (is_array($thumbnail)) {
            $width = $thumbnail[1];
            $height = $thumbnail[2];
            $ratio = $width/$height;

            if ($ratio == 1) {
                $term_slug_or_id = 'ratio'; // change this to your term slug or ID
            } elseif ($ratio > 1) {
                $term_slug_or_id = 'landscape';
            } else {
                $term_slug_or_id = 'portrait';              
            }
            wp_set_object_terms( $post_id, $term_slug_or_id, 'YOUR_TAXONOMY_NAME_HERE', TRUE); 
        }
    }
}
add_action('save_post', 'check_thumbnail_size');

Надеюсь, поможет!

02.03.2016
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...