Artikulu direktorioa
WordPress PHP erroreak espazio fantasmaengatik izan daitezke!
Programatzaileek gehien beldurtzen dutena ez dira akatsak, akatsek beren emozioekin jolastea baizik.
Idatzi duzun logika ondo dago noski, baina PHP-k ematen dizu syntax errorHiru minutu berandu iritsiko bazina zita batera, eta beste pertsonak aurpegia jiratu eta "ez nauzu maite" esaten dizula bezala da. Hainbesteko kaltea jasan duzula sentitzen duzu, ezen teklatua botatzera animatzen zarela.

Zergatik ematen du errore bat WordPress PHP-k?
PHP-k ematen duen agindua hau da:
syntax error, unexpected single-quoted string "wpturbo_handle_upload_convert_...", expecting ")"
Giza hizkuntzara itzulita, hau esan nahi du: parentesi itxi bat espero nuen, baina karaktere-kate arraro bat sartu didazu barruan, izaera ulertezin batekin.
Beraz, zein da arazoa? Ez da zure funtzio-logika, baizik eta itxuraz errugabea den lerro hori:
add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');
Kodeko espazio fantasma
Arazoaren muina da kodea kopiatu eta itsasten duzunean, nahasten duzula zabalera osoko espazioa edo Zero zabalerako espazioa.
Gauza hauek editorean begi hutsez ikusezinak dira, baina PHP zoratuko dute analizatzean.
Fideo goxoen ontzi bat jatea bezala da, baina bat-batean harea ale bati hozka egiten diozu eta zure defentsak berehala hautsi egiten dira. Horrela sentitzen da PHP une honetan.
Zein da idazteko modu zuzena?
Egin behar duzuna oso erraza da. Ordeztu mamu-espazio horiek guztiak eta mantendu erdi-zabalerako espazio puruenak.
WordPress-en kode zuzena honako hau da:
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;
}
Nola saihestu hau?
Galdetzen ariko zara, kopiatu eta itsatsi bakoitzean urduri jarri behar al duzu? Erantzuna hau da: ez izutu, baina izan adimentsua.
- Erabili editore fidagarri bat, VS Code bezalakoa, karaktere arraroak automatikoki nabarmentzen dituena.
- Fitxategi bat irekitzean, saiatu UTF-8 kodeketan gordetzen, horrek "mamu sinboloen" arriskua erdira murriztu dezakeelako.
- Benetan kezkatuta bazaude, itsatsi kode susmagarria testu arrunteko tresna batean eta garbitu.
Barazkiak eltze beroa jan aurretik garbitzea bezala, istripu asko saihestu daitezke.
Ondorioa
Errore hau misteriotsu iruditu daiteke, baina bere logika oso argia da. Programatzea poesia idaztea bezalakoa da; puntuazioa eta tarteak erritmoaren arima dira. Tarte oker bakar batek kodea erritmotik kanpo utzi dezake, tuba desafinatu bat orkestra batean bat-batean agertzen den bezala.
Kodea idazterakoan, "sinboloen garbitasun" mota bat garatu behar dugu. Xehetasunetan perfekzioa lortuz bakarrik funtziona dezake logika ondo.FilosofiaZentzu batean, hau ere zehaztasunaren eta ordenaren bilaketa bat da.
Laburpena
Hiru puntu nagusi daude:
- Errorea ez da logika arazo bat, mamu espazio bat baizik.
- Konponketa zuzena erdi-zabalerako espazio estandar batekin ordezkatzea da.
- Garatu kodearen garbitasuna eta saihestu ezkutuko karaktereak.
Beraz, hurrengoan azalpenik gabeko errore bat aurkitzen duzunean, hobe da susmatzea: "Mamu" ikusezin bat al dago lanean? Hartu neurriak, garbitu itzazu eta zure kodea ondo ibiliko da.
Hope Chen Weiliang bloga ( https://www.chenweiliang.com/ ) "WordPress sintaxi errorea: komatxo bakarreko kate ustekabekoak konpontzeko gida ezin hobea" partekatu du, eta baliteke zuretzat lagungarria izatea.
Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-33245.html
Trikimailu ezkutu gehiago desblokeatzeko🔑, ongi etorri gure Telegram kanalera!
Partekatu eta gustatu gustatzen bazaizu! Zure partekatzeak eta gustukoak dira gure etengabeko motibazioa!