Rakstu katalogs
WordPress PHP kļūdas var izraisīt tukšas vietas!
Programmētāji visvairāk baidās nevis no kļūdām, bet gan no tā, ka kļūdas ietekmē viņu emocijas.
Jūsu uzrakstītā loģika, protams, ir laba, bet PHP sniedz jums syntax errorTas ir tā, it kā tu nokavētu randiņu trīs minūtes, un otrs cilvēks pagriež seju prom un saka: "Tu mani nemīli". Tu jūties tik ļoti apvainots, ka gribas mest tastatūru malā.

Kāpēc WordPress PHP ziņo par kļūdu?
PHP sniegtā uzvedne ir šāda:
syntax error, unexpected single-quoted string "wpturbo_handle_upload_convert_...", expecting ")"
Tulkojot cilvēku valodā, tas nozīmē: es gaidīju noslēdzošo iekavu, bet tu manī iespraudi dīvainu rakstzīmju virkni, ar neizskaidrojamu temperamentu.
Tātad, kāda ir problēma? Tā nav tavas funkcijas loģika, bet gan šī šķietami nevainīgā rinda:
add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');
Spoku atstarpes kodā
Problēmas būtība ir tā, ka, kopējot un ielīmējot kodu, jūs sajaucat pilna platuma telpa vai Nulles platuma telpa.
Šīs lietas redaktorā nav redzamas ar neapbruņotu aci, bet parsēšanas laikā PHP var radīt satraukumu.
Tas ir kā ēst bļodu ar gardām nūdelēm, bet pēkšņi tu iekodies smilšu graudā, un tava aizsardzība acumirklī tiek sagrauta. Lūk, kā PHP šobrīd jūtas.
Kāds ir pareizais veids, kā to rakstīt?
Tas, kas jums jādara, patiesībā ir ļoti vienkārši. Aizstājiet visas šīs tukšās vietas un saglabājiet tīrākās pusplatuma vietas.
Pareizais WordPress kods ir šāds:
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;
}
Kā var izvairīties no šīs situācijas?
Jums varētu rasties jautājums, vai katru reizi, kopējot un ielīmējot, ir jāuztraucas? Atbilde ir: nekrītiet panikā, bet esiet gudri.
- Izmantojiet uzticamu redaktoru, piemēram, VS Code, kas var automātiski izcelt dīvainas rakstzīmes.
- Atverot failu, mēģiniet to saglabāt UTF-8 kodējumā, kas var uz pusi samazināt "spoku simbolu" risku.
- Ja jūs patiešām uztraucaties, ielīmējiet aizdomīgo kodu vienkārša teksta rīkā un notīriet to.
Tāpat kā dārzeņu mazgāšana pirms karstā katla ēšanas, var novērst daudzus negadījumus.
Secinājums
Šī kļūda var šķist noslēpumaina, taču tās loģika patiesībā ir ļoti skaidra. Programmēšana ir kā dzejas rakstīšana; pieturzīmes un atstarpes ir ritma dvēsele. Viena nepareiza atstarpe var izsist kodu no ritma, līdzīgi kā orķestrī pēkšņi parādās noskaņota tuba.
Rakstot kodu, mums ir jāattīsta sava veida "simbolu tīrība". Tikai sasniedzot pilnību detaļās, loģika var darboties nevainojami.FilozofijaSavā ziņā tā ir arī tiekšanās pēc precizitātes un kārtības.
总结
Ir trīs galvenie punkti:
- Kļūda nav loģikas problēma, bet gan spoku telpa.
- Pareizais risinājums ir aizstāt to ar standarta pusplatuma atstarpi.
- Attīstiet koda tīrību un izvairieties no slēptām rakstzīmēm.
Tātad, nākamreiz, kad saskarsieties ar šķietami neizskaidrojamu kļūdu, jūs varētu tikpat labi aizdomāties: vai darbojas neredzams "spoks"? Rīkojieties, izlabojiet to, un jūsu kods darbosies nevainojami.
Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ) kopīgoja rakstu "WordPress sintakses kļūda: ideāls ceļvedis negaidītas vienpēdiņās ievietotas virknes labošanai", kas jums varētu būt noderīgs.
Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-33245.html
Lai atklātu vairāk slēptu triku🔑, pievienojieties mūsu Telegram kanālam!
Dalies un patīk, ja patīk! Jūsu akcijas un atzīmes Patīk ir mūsu pastāvīga motivācija!