تحذير PHP إزاحة السلسلة غير القانونية في Wordpress

-5

هناك تحذير:

Warning: Illegal string offset 'alt' in /home/procsi/galina3000.ru/wp-content/themes/memoir/epanel/custom_functions.php on line 112

Warning: Illegal string offset 'title' in /home/procsi/galina3000.ru/wp-content/themes/memoir/epanel/custom_functions.php on line 113

يظهر رمز أدناه:

if ( function_exists('has_post_thumbnail') ) {
        if ( has_post_thumbnail( $post->ID ) ) {
            $thumb_array['use_timthumb'] = false;

            $args='';
            if ($class <> '') $args['class'] = $class;
            if ($alttext <> '') $args['alt'] = $alttext;
            if ($titletext <> '') $args['title'] = $titletext;

            $thumb_array['thumb'] = get_the_post_thumbnail( $post->ID, array($width,$height), $args );

            if ($fullpath) {
                $thumb_array['fullpath'] = get_the_post_thumbnail( $post->ID );
                if ($thumb_array['fullpath'] <> '') { 
                    $thumb_array['fullpath'] = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $thumb_array['fullpath'], $matches);
                    $thumb_array['fullpath'] = trim($matches[1][0]);
                }
            }
        }

كيف تصلحها؟ شكرا جزيلا.

1 إجابة

0

إنه يحاول إخبارك أنك تستخدم سلسلة كمصفوفة بسلسلة كمفتاح:

$args='';

if ($class <> '') $args['class'] = $class;
if ($alttext <> '') $args['alt'] = $alttext;
if ($titletext <> '') $args['title'] = $titletext;

منذ أن أعلنت لأول مرة $args أن تكون سلسلة ( '' ) ، هذا هو نوع المتغير عندما تحاول تعيين الوسيطات الأخرى له.

إذا قمت بدلاً من ذلك بتعريفها كمصفوفة - بما أنك تريد استخدامها كمصفوفة ، فيجب أن تعمل كما تتوقع:

$args = []; // or $args = array(); if PHP version < 5.4

if ($class <> '') $args['class'] = $class;
if ($alttext <> '') $args['alt'] = $alttext;
if ($titletext <> '') $args['title'] = $titletext;
:مؤلف
فوق
قائمة طعام