2017-10-12 3 views
0

これは私の中で行っています。 特定のページで関数を呼び出したいと思います。実際の機能は、ユーザーが特定の次元で写真を投稿することを妨げているようです。 問題はページを正しく識別して、この機能がそのページに対してのみ実行されるようにすることです。現在のところ、この機能は、メディアをアップロードする必要がある場所であればどこでも呼び出されています。あなたの閲覧については、以下の コード:ワードプレスの特定のページで特定の関数を呼び出そうとしています

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

これは私に飛び出し:この場合

if(is_page($page = 'add-new-propety.php')) 
    add_filter('wp_handle_upload_prefilter', 'block_small_images_upload'); 

は、あなたは右、$pageへの割り当ての値にis_page()を実行していますか?

if(is_page('add-new-propety.php')) 
    add_filter('wp_handle_upload_prefilter', 'block_small_images_upload'); 

編集:それはこのようにすべきではないPHPでの割り当ての値が割り当てられた値であるようネヴァーマインド、値が、とにかく正しいはず...

しかし、私はしないでくださいあなたが直接is_page()にファイル名を与えることができると思う、それはおそらくスラッグ、IDまたはタイトルでなければなりません。または、使用されているテンプレートをチェックしますか?

+0

私はタイトル、スラッグ、ID、現在の値を試しました。ちょうどIF()文を無視して実行されるようです。 –

+0

「wp_handle_upload_prefilter」という名前のアクションは存在しないようで、フィルタのみですか? – klumme

+0

有効なポイント、図面ボードに戻る。ありがとう –

関連する問題