Синтаксичка грешка во WordPress: Совршен водич за поправање на неочекуван стринг со еден наводник

WordPress PHP грешките може да бидат предизвикани од „ghost spaces“!

Она од што програмерите најмногу се плашат не се грешки, туку од тоа грешките да си поигруваат со нивните емоции.

Логиката што ја напишавте е очигледно во ред, но PHP ви дава syntax errorКако да доцниш три минути на состанок, а другата личност го свртува лицето и вели „не ме сакаш“. Се чувствуваш толку навредено што сакаш да ја фрлиш тастатурата.

Синтаксичка грешка во WordPress: Совршен водич за поправање на неочекуван стринг со еден наводник

Зошто WordPress PHP пријавува грешка?

Прашањето дадено од PHP е:

syntax error, unexpected single-quoted string "wpturbo_handle_upload_convert_...", expecting ")"

Преведено на човечки јазик, тоа значи: Очекував завршна заграда, но ти ми наби чудна низа ликови, со необјаснив темперамент.

Па, во што е проблемот? Не е во твојата логика на функцијата, туку во таа навидум невина линија:

add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');

Простори со духови во кодот

Суштината на проблемот е што кога го копирате и залепувате кодот, мешате простор со полна ширина или Простор со нулта ширина.

Овие работи се невидливи за голо око во уредувачот, но ќе го излудат PHP кога ќе се парсира.

Тоа е како да јадете чинија со вкусни тестенини, но одеднаш гризете зрно песок и вашата одбрана веднаш се крши. Така се чувствува PHP во моментов.

Кој е правилниот начин да се напише?

Она што треба да го направите е всушност многу едноставно. Заменете ги сите тие празни места со привидна ширина и задржете ги најчистите празни места со половина ширина.

Точниот WordPress код е како што следува:

add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');

function wpturbo_handle_upload_convert_to_webp($upload) {
    if (in_array($upload['type'], ['image/jpeg', 'image/png', 'image/gif'])) {
        $file_path = $upload['file'];
        if (extension_loaded('imagick') || extension_loaded('gd')) {
            $image_editor = wp_get_image_editor($file_path);
            if (!is_wp_error($image_editor)) {
                // Set WebP quality (adjust as needed)
                $quality = 80; // Adjust between 0 (low) to 100 (high)
                $image_editor->set_quality($quality);

                $file_info = pathinfo($file_path);
                $dirname = $file_info['dirname'];
                $filename = $file_info['filename'];
                $def_filename = wp_unique_filename($dirname, $filename . '.webp');
                $new_file_path = $dirname . '/' . $def_filename;

                $saved_image = $image_editor->save($new_file_path, 'image/webp');
                if (!is_wp_error($saved_image) && file_exists($saved_image['path'])) {
                    $upload['file'] = $saved_image['path'];
                    $upload['url']  = str_replace(basename($upload['url']), basename($saved_image['path']), $upload['url']);
                    $upload['type'] = 'image/webp';
                    @unlink($file_path);
                }
            }
        }
    }
    return $upload;
}

Како може да се избегне оваа ситуација?

Можеби се прашувате, дали мора да бидете нервозни секој пат кога копирате и залепувате? Одговорот е: не паничете, туку бидете паметни.

  1. Користете сигурен уредувач, како што е VS Code, кој може автоматски да ги истакне чудните знаци.
  2. Кога отворате датотека, обидете се да ја зачувате во UTF-8 кодирање, што може да го намали ризикот од „симболи на духови“ за половина.
  3. Ако сте навистина загрижени, залепете го сомнителниот код во алатка за обичен текст и исчистете го.

Исто како со миењето зеленчук пред јадење хот-пот, можат да се избегнат многу несреќи.

Заклучок

Оваа грешка може да изгледа мистериозно, но нејзината логика е всушност многу јасна. Програмирањето е како пишување поезија; интерпункцијата и растојанието се душата на ритамот. Едно неточно празно место може да го исфрли кодот од ритам, како ненаштимана туба што одеднаш се појавува во оркестар.

Кога пишуваме код, мора да развиеме еден вид „чистота на симболите“. Само со постигнување совршенство во деталите, логиката може да функционира непречено.ФилозофијаВо извесна смисла, ова е исто така стремеж кон прецизност и ред.

да сумираме

Постојат три клучни точки:

  • Грешката не е логички проблем, туку простор на духови.
  • Точното решение е да се замени со стандарден простор со половина ширина.
  • Развијте чистота на кодот и држете се подалеку од скриени карактери.

Значи, следниот пат кога ќе наидете на навидум необјаснива грешка, можеби е подобро да се сомневате: Дали работи невидлив „дух“? Преземете акција, исчистете го и вашиот код ќе работи непречено.

Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Синтаксичка грешка на WordPress: Совршен водич за поправање на неочекуван стринг во еден наводник“ што може да ви биде од помош.

Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-33245.html

За да отклучите повеќе скриени трикови🔑, добредојдени сте да се придружите на нашиот Телеграм канал!

Споделете и лајкнете ако ви се допаѓа! Вашите споделувања и лајкови се наша постојана мотивација!

 

评论

Вашата адреса за е-пошта нема да биде објавена. Се користат задолжителните полиња * Етикета

Дојдете до врв