2011-07-30 9 views
0

Victor Teixeiraの画像サイズ変更スクリプトを使用して、いくつかのプレミアムテーマで使用しています。それは素晴らしい機能ですが、私はデバッガを実行するときにいくつかの通知を得て、私はそれを解決する方法を知らない。誰かが助けることができるのだろうか? :)ここで画像サイズ変更スクリプト(WordPress)でのWP-Debugの問題

が通知されている:

Notice: Undefined variable: file_path in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 129 

    Notice: Undefined index: extension in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 130 

    Notice: Undefined index: dirname in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 133 

    Notice: Undefined variable: image_src in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 139 

    Notice: Undefined variable: image_src in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 139 

    Notice: Undefined variable: image_src in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 194 

    Notice: Undefined variable: image_src in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 195 

    Notice: Undefined variable: image_src in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 196 

そしてここではコードです:

function vt_resize($attach_id = null, $img_url = null, $width, $height, $crop = false) { 

// this is an attachment, so we have the ID 
if ($attach_id) { 

    $image_src = wp_get_attachment_image_src($attach_id, 'full'); 
    $file_path = get_attached_file($attach_id); 

// this is not an attachment, let's use the image url 
} else if ($img_url) { 

    $file_path = parse_url($img_url); 
    $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_path['path']; 

    //$file_path = ltrim($file_path['path'], '/'); 
    //$file_path = rtrim(ABSPATH, '/').$file_path['path']; 

    $orig_size = getimagesize($file_path); 

    $image_src[0] = $img_url; 
    $image_src[1] = $orig_size[0]; 
    $image_src[2] = $orig_size[1]; 
} 

[129] $file_info = pathinfo($file_path); 
[130] $extension = '.'. $file_info['extension']; 

// the image path without the extension 
[133]$no_ext_path = $file_info['dirname'].'/'.$file_info['filename']; 

$cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension; 

// checking if the file size is larger than the target size 
// if it is smaller or the same size, stop right here and return 
[139]if ($image_src[1] > $width || $image_src[2] > $height) { 

    // the file is larger, check if the resized version already exists (for $crop = true but will also work for $crop = false if the sizes match) 
    if (file_exists($cropped_img_path)) { 

     $cropped_img_url = str_replace(basename($image_src[0]), basename($cropped_img_path), $image_src[0]); 

     $vt_image = array (
      'url' => $cropped_img_url, 
      'width' => $width, 
      'height' => $height 
     ); 

     return $vt_image; 
    } 

    // $crop = false 
    if ($crop == false) { 

     // calculate the size proportionaly 
     $proportional_size = wp_constrain_dimensions($image_src[1], $image_src[2], $width, $height); 
     $resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension;    

     // checking if the file already exists 
     if (file_exists($resized_img_path)) { 

      $resized_img_url = str_replace(basename($image_src[0]), basename($resized_img_path), $image_src[0]); 

      $vt_image = array (
       'url' => $resized_img_url, 
       'width' => $proportional_size[0], 
       'height' => $proportional_size[1] 
      ); 

      return $vt_image; 
     } 
    } 

    // no cache files - let's finally resize it 
    $new_img_path = image_resize($file_path, $width, $height, $crop); 
    $new_img_size = getimagesize($new_img_path); 
    $new_img = str_replace(basename($image_src[0]), basename($new_img_path), $image_src[0]); 

    // resized output 
    $vt_image = array (
    [194]'url' => $new_img, 
    [195]'width' => $new_img_size[0], 
    [196]'height' => $new_img_size[1] 
    ); 

    return $vt_image; 
} 

// default output - without resizing 
$vt_image = array (
    'url' => $image_src[0], 
    'width' => $image_src[1], 
    'height' => $image_src[2] 
); 

return $vt_image; 
} 

おかげで事前に。この問題は私に頭痛を引き起こしています:)

+0

あなたはファイル全体を掲載していた場合、それを支援するために容易になるだろうまたは行番号に注釈を付ける。 – AJJ

+0

こんにちはAJweb、私は括弧内にいくつかの行番号を追加しました。申し訳ありません。 –

答えて

0

行番号がないと、正確にどこにエラーが発生しているのか分かりにくいですが、ここで私の推測です。最初のエラー、そしておそらく残りをトリガーするものである:

Notice: Undefined variable: file_path in /nfs/c03/h01/mnt/51370/domains/minimalpixels.com/html/wp-content/themes/paragon/framework/functions/basicFunctions.php on line 129 

そして、それはおそらく、この行にトリガーされます。

$file_info = pathinfo($file_path); 

機能は非常によく設計されたように私には思えません。 。最初の2つの引数$attach_id$image_urlは省略可能です(どちらも省略可能)。デフォルトのNULL値とコードのチェックから判断してください。しかし、コードは$attach_idまたは$image_urlifelseif)のいずれかの存在をチェックして$file_pathのvarを定義しています。したがって、これらのどれも存在しない場合、$file_pathは定義されず、したがって、エラー通知も定義されません。関数は、これらのパラメータの1($image_urlまたは$attach_id)せずにその仕事をすることができない場合

、それはELSEIFの後に返す必要があります:

+0

こんにちはAJ、それは理にかなっています。ありがとう!出来た。 –

関連する問題