2015-08-30 108 views
1

我一直在抓這個一天的頭腦。通過Google,WordPress和StackOverflow進行的各種搜索已經爲我提供了線索,但由於我只是一個初學PHP的人,只能真正改變某些事情,所以我完全被困住了。我很抱歉,如果這個錯誤與其他問題類似,但我找不到解決我的特定問題的方法。我有支持WordPress和主題開發人員的支持票,但是我還沒有找到解決方案。這裏是isse:WooCommerce/WordPress非法字符串偏移量

我遇到了一個我正在爲家庭成員工作的網站的問題。我試圖改變WooCommerce中產品圖片的大小,因此我編輯了woocommerce.php文件,更改了woocommerce_single_image_width大小。這樣做之後,我得到這個「非法串」錯誤:

Warning: Illegal string offset 'crop' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 812

Warning: Illegal string offset 'width' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 822

Warning: Illegal string offset 'height' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 823

Warning: Illegal string offset 'crop' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 824

Warning: Illegal string offset 'width' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 828

Warning: Illegal string offset 'height' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 828

Warning: Illegal string offset 'crop' in /home/wp_tnn5rz/funstickups.com/wp-content/themes/bazar-child/theme/woocommerce.php on line 828

做了一些研究之後,我發現這是更大的錯誤,而是因爲我已經做了改變,我無法上傳照片,或者在網格視圖中查看我的媒體(儘管它在列表視圖中工作)。

我下載了重新生成縮略圖插件,但它告訴我該操作失敗了。圖像是小的.. 566x3的東西,所以我不認爲這是由圖像的大小造成的。

在最後的努力中,我刪除了所有的產品,並決定嘗試結束,但現在我無法上傳圖像,所以我完全卡住了。

URL是https://www.funstickups.com

感謝你提前!

安吉洛

下面是從woocommerce.php其中錯誤的來源(線803-832)的代碼。

function yit_get_featured_image_size() { 

$element['width'] = "160"; 
$element['height'] = "160"; 
$element['crop'] = 1; 

$element = get_option('shop_featured_image_size', $element); 

$crop   = WC_Admin_Settings::get_option('shop_featured_image_size' . '[crop]'); 
$element['crop'] = ($crop == 'on' || $crop == '1') ? 1 : 0; 

return $element; 
} 

function yit_add_featured_image_size($images) { 

$element = yit_get_featured_image_size(); 

if (! is_array($element)) { 
    $element['width'] = "160"; 
    $element['height'] = "160"; 
    $element['crop'] = 1; 
} 

$image_sizes = array(
    'shop_featured_image_size' => array(intval($element['width']), intval($element['height']), ($element['crop'] === 1 ? true : false)), 
); 

return array_merge($image_sizes , $images); 
} 

回答

0

你治療$element好像它是不將其設置爲一個第一陣列。

更改此:

$element['width'] = "160"; 
$element['height'] = "160"; 
$element['crop'] = 1; 

要:

$element = array(
    'width' => 160, 
    'height' => 160, 
    'crop' => 1, 
); 

只要$element是一個數組,你可以繼續追加元素在你原始的方法,例如$element['extra'] = ...

+0

我做了更改,但仍然收到相同的錯誤。我從來沒有對這個代碼做過任何改變......我所做的只是改變單個產品精選圖片的寬度(466到700)。我在網上讀到它可能會受到另一個WordPress/WooCommerce/Theme函數的干擾,這個函數在這個特定函數之前或之後被調用? (我的PHP知識,你可以知道,是嚴重受限的,所以我很抱歉,如果這沒有意義。) –

0

問題已解決。這是主題本身和WooCommerce的問題。感謝您的幫助!

+0

你能解釋一下究竟是什麼解決了這個問題嗎?我有同樣的問題,我不知道現在該做什麼... – user2988649