Wordpress:根据图像宽高比自动选择类别

时间:2016-03-02 05:04:04

标签: php html wordpress image

我希望创建一个系统,当我创建帖子并上传并设置特色图片时,基于特色图像宽高比wordpress选择创建的三个类别中的一个(横向,纵向或方形)

我一直在寻找如何实现这一目标的几个小时,而在我的生活中,我找不到任何东西。我也是网络开发中的一个非常大的菜鸟,所以如果有人可以提供帮助的话。请提供代码,简化的解决方案或详细信息。

谢谢!

没有插件!

1 个答案:

答案 0 :(得分:0)

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');

希望它有所帮助!