• 30-05-2014, 22:09:11
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar,

    Kurmak istediğim temanın 2 satırında aşağıdaki hatayı alıyorum. Tema hazır bir template, kod bilgimde hiç yok. Bu hataları nasıl düzeltebiliriz?

    Teşekkürler

    Warning: Invalid argument supplied for foreach() in /home/..../.../.../.../temaadı/functions/admin-shortcodes.php on line 561

    Warning: Invalid argument supplied for foreach() in /home/..../.../.../.../temaadı/functions/admin-shortcodes.php on line 372

    İlgili satırlar;

    $filteredprojs = array();
    		if ($categories != "all"){
    			foreach ($projs as $p){
    				$projscats = get_the_terms($p->ID, 'portfolio_category');
    				$found = false;
    			(372. Satır) foreach ($projscats as $pcats){
    					foreach ($thecats as $tc){
    						if ($pcats->slug == $tc) $found = true;	
    					}
    				}
    				if ($found) {
    					array_push($filteredprojs, $p);
    					$projs = $filteredprojs;
    				}
    $filteredprojs = array();
    		if ($categories != "all"){
    			foreach ($projs as $p){
    				$projscats = get_the_terms($p->ID, 'portfolio_category');
    				$found = false;
    			(561. Satır)	foreach ($projscats as $pcats){
    					foreach ($thecats as $tc){
    						if ($pcats->slug == $tc) $found = true;	
    					}
    				}
  • 31-05-2014, 01:25:09
    #2
    Muhtemelen $projs bu değişkenin bir dizi olmadığı için hata alıyorsundur. Başına is_array fonksiyonu yardımıyla kontrol koyarsan hata almazsın.

    if(is_array($projs)) {
    foreach ($projs as $p){
    BLA BLA BLA
    }
    }
    gibi
  • 31-05-2014, 15:42:46
    #3
    Developer
    ChuckyFun adlı üyeden alıntı: mesajı görüntüle
    Muhtemelen $projs bu değişkenin bir dizi olmadığı için hata alıyorsundur. Başına is_array fonksiyonu yardımıyla kontrol koyarsan hata almazsın.

    if(is_array($projs)) {
    foreach ($projs as $p){
    BLA BLA BLA
    }
    }
    gibi
    doğru olan @ChuckyFun ın yazdığı gibi fakat bazı durumlarda aşağıdaki gibi kullanabilirsiniz ( array sadece o döngüye giriyorsa )


    foreach döngüsünden önce

    if(!is_array($projs)) { $projs = array(); }