我想让Wordpress计算宽高比&上传媒体时的方向,而不是在模板中执行此操作。然后我可以调用图像并询问image.orientation,它会给我'肖像'或'风景'作为一个值。
示例,上传图片后的样子:
这是可能的还是我必须在前端做到这一点?
答案 0 :(得分:1)
您可以为它编写一些代码。使用http://codex.wordpress.org/Function_Reference/wp_get_attachment_metadata获取宽度和高度,然后使用{width / $ height> 1 =>风景,否则它的肖像。使用以下代码将此值存储在附件中:http://codex.wordpress.org/Function_Reference/wp_update_attachment_metadata。
您可以对此使用操作,例如:
add_action('add_attachment', 'process_images');
在您的代码尝试之后添加解决方案(我已经测试过了):
function attachment_orientation_meta($id){
$attachmentInfo = wp_get_attachment_metadata($id);
$attachmentOrientation = ( $attachmentInfo['height'] > $attachmentInfo['width'] ) ? 'portrait' : 'landscape';
update_post_meta($id, 'orientation', $attachmentOrientation);
}
add_action( 'add_attachment', 'attachment_orientation_meta' );