这是我的坚果。 我想在特定页面上调用一个函数。实际功能似乎正在正常工作,阻止用户在特定维度下提交图片。 问题是正确识别页面,因此该功能仅针对该页面运行。目前,只需在需要上传媒体的任何地方调用该功能。 下面的代码供你细读:
add_action( 'wp_handle_upload_prefilter', 'filter_media_pages' );
function filter_media_pages()
{
if(is_page($page = 'add-new-propety.php'))
add_filter( 'wp_handle_upload_prefilter', 'block_small_images_upload' );
}
function block_small_images_upload( $file )
{
// Mime type with dimensions, check to exit earlier
$mimes = array( 'image/jpeg', 'image/png', 'image/gif' );
if( !in_array( $file['type'], $mimes ) )
return $file;
//Adjust dimensions
$img = getimagesize( $file['tmp_name'] );
$minimum = array( 'width' => 1170, 'height' => 786 );
if ( $img[0] < $minimum['width'] )
$file['error'] =
'Image too small. Minimum width is '
. $minimum['width']
. 'px. Uploaded image width is '
. $img[0] . 'px';
elseif ( $img[1] < $minimum['height'] )
$file['error'] =
'Image too small. Minimum height is '
. $minimum['height']
. 'px. Uploaded image height is '
. $img[1] . 'px';
return $file;
}
答案 0 :(得分:0)
这突然出现在我身上:
if(is_page($page = 'add-new-propety.php'))
add_filter( 'wp_handle_upload_prefilter', 'block_small_images_upload' );
在这种情况下,您对is_page()
的作业值运行$page
,对吗?不应该是这样的:
if(is_page('add-new-propety.php'))
add_filter( 'wp_handle_upload_prefilter', 'block_small_images_upload' );
编辑:没关系,无论如何,该值应该是正确的,因为PHP中赋值的值是赋值...
但我不认为你可以直接向is_page()
提供文件名,它应该是slug,ID或title。或者您想检查使用的模板吗?