试图在wordpress中的特定页面上调用特定功能

时间:2017-10-12 13:43:33

标签: javascript wordpress

这是我的坚果。 我想在特定页面上调用一个函数。实际功能似乎正在正常工作,阻止用户在特定维度下提交图片。 问题是正确识别页面,因此该功能仅针对该页面运行。目前,只需在需要上传媒体的任何地方调用该功能。 下面的代码供你细读:

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;
}

1 个答案:

答案 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。或者您想检查使用的模板吗?