我希望创建一个系统,当我创建帖子并上传并设置特色图片时,基于特色图像宽高比wordpress选择创建的三个类别中的一个(横向,纵向或方形)
我一直在寻找如何实现这一目标的几个小时,而在我的生活中,我找不到任何东西。我也是网络开发中的一个非常大的菜鸟,所以如果有人可以提供帮助的话。请提供代码,简化的解决方案或详细信息。
谢谢!
没有插件!
答案 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');
希望它有所帮助!