PHP Syntax Check: Parse error: syntax error, unexpected '}'
Hallo, ik ben erg groen hiermee. Dus ik worstel hier nog erg mee. Het is waarschijnlijk een domme vraag. Maar ik krijg deze error op dit stukje code en ik weet niet hoe ik dit kan herstellen. Ik kwam erachter toen ik zag dat het ingelogd in admin wel werkt en niet live. Dat krijg ik een JQuery not defined. Heb de code in php checker gezet om te zien waar het aan ligt. Geeft aan de "} );" . Maar ik kom er gewoon niet uit. Iemand die mij wil helpen hiermee? Dank je wel.
<script type="text/javascript">
jQuery(document).ready(function($){
$(document.body).on('click','.added_to_cart', function(e){
e.preventDefault();
$('.xoo-cp-basket').trigger('click');
});
}); </script>
<script type="text/javascript">
jQuery(document).ready(function($){
$(document.body).on('click','.added_to_cart', function(e){
e.preventDefault();
$('.xoo-cp-basket').trigger('click');
});
}); </script>
En wat als jouw PHP-blok niet onderbreekt?
<script type="text/javascript">
jQuery(document).ready(function($){
$(document.body).on('click','.added_to_cart', function(e){
e.preventDefault();
$('.xoo-cp-basket').trigger('click');
});
}); </script>
Bedoel je de
jQuery(document).ready(function($){
$(document.body).on('click','.added_to_cart', function(e){
e.preventDefault();
$('.xoo-cp-basket').trigger('click');
});
}); </script>
Bedoel je de
Gebruik hier de code-tags of de codeknop voor berichten.
Zet je JavaScript in een echo.
Wat er er exact nu fout gaat is het volgende: Je onderbreekt een PHP functie door opeens je PHP blok af te sluiten. En dat kan niet.
Zet je JavaScript in een echo.
Wat er er exact nu fout gaat is het volgende: Je onderbreekt een PHP functie door opeens je PHP blok af te sluiten. En dat kan niet.
Gewijzigd op 09/06/2021 21:57:18 door - Ariën -
- Ariën - op 09/06/2021 16:50:54:
Wat er er exact nu fout gaat is het volgende: Je onderbreekt een PHP functie door opeens je PHP blok af te sluiten. En dat kan niet.
Dat is niet wat er fout gaat, want ook in functies kun je een PHP-blok afsluiten. Uiteraard moet je het daarna wel weer opnieuw openen om de functie syntactisch netjes af te sluiten, maar dat gebeurt ook in de openingspost.
Waar volgens mij het probleem zit, is dat de callback-functie moet bestaan uit PHP-code. Nu krijgt 'ie echter HTML/JavaScript en daar verslikt de PHP-parser zich in.
Dit zou wellicht kunnen werken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
add_action( 'wp_footer', function(){ echo <<<'END_HTML'
<script type="text/javascript">
jQuery(document).ready(function($){
$(document.body).on('click','.added_to_cart', function(e){
e.preventDefault();
$('.xoo-cp-basket').trigger('click');
});
});
</script>
END_HTML;
} );
?>
add_action( 'wp_footer', function(){ echo <<<'END_HTML'
<script type="text/javascript">
jQuery(document).ready(function($){
$(document.body).on('click','.added_to_cart', function(e){
e.preventDefault();
$('.xoo-cp-basket').trigger('click');
});
});
</script>
END_HTML;
} );
?>
Let op dat de afsluitende END_HTML aan het begin van de regel *moet* staan (kolom 1 dus).
Gewijzigd op 10/06/2021 00:56:12 door Willem vp
Hallo Ariën en Willem , allereerst bedankt voor het meedenken en de berichten. Het wordt niet herkend als code nu als ik het opvoer door het stukje <<<'END_HTML'
Misschien door wat je zegt in de opmerking, maar heb het exact zo opgevoerd zoals je voorbeeld toegevoegd.
Misschien door wat je zegt in de opmerking, maar heb het exact zo opgevoerd zoals je voorbeeld toegevoegd.
En op deze manier?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
add_action('wp_footer', function() {
$js_code = '
<script type="text/javascript">
jQuery(document).ready(function($) {
$(document.body).on("click", ".added_to_cart", function(e) {
e.preventDefault();
$(".xoo-cp-basket").trigger("click");
});
});
</script>
';
echo $js_code;
});
?>
add_action('wp_footer', function() {
$js_code = '
<script type="text/javascript">
jQuery(document).ready(function($) {
$(document.body).on("click", ".added_to_cart", function(e) {
e.preventDefault();
$(".xoo-cp-basket").trigger("click");
});
});
</script>
';
echo $js_code;
});
?>
Gewijzigd op 10/06/2021 12:12:59 door Ozzie PHP
Hallo Ozzie,
Nee zelfde probleem.
Nee zelfde probleem.
Laad je wel de library van jQuery?
Bas Driessen op 10/06/2021 15:36:55:
Hallo Ozzie,
Nee zelfde probleem.
Nee zelfde probleem.
Heb je letterlijk mijn code gekopieerd en geplakt?
Zo ja, wat is precies het probleem. Komt er een foumelding in beeld? Of komt er helemaal niks in beeld?
Ariën en Ozzie ik moet jullie beide enorm bedanken. Door jullie opmerkingen ben ik er net achter gekomen. Het was inderdaad de jquery. Ik ging zoeken in de files en kwam tegen dat het laden van jQuery naar de footer was gezet. Misschien praat ik nu onzin, maar lijkt me dat die de plugin eerst aansprak en vervolgens de Jquery en dat het daarom niet werkte. excuses als dit extra moeite heeft gekost voor jullie. Ik waardeer dit enorm in ieder geval. Ik ben hier nog niet zo goed mee. Maar het werkt nu dus wel. En sneller bovendien. Ik heb dat JQuery naar footer gewoon weggehaald nu.
Toevoeging op 10/06/2021 19:56:23:
Ook Willem bedankt trouwens. Ik had een stukje combinatie code van stijl en script met hetzelfde probleem en het stukje code met "End Html" werkt daarvoor. Heb nu beide methodes gebruikt. Babystapjes, maar dit helpt me het meer te begrijpen. Dus nu zijn er 2 problemen opgelost met jullie hulp. Thanks a lot. Deze vraag is opgelost :)
Toevoeging op 10/06/2021 19:56:23:
Ook Willem bedankt trouwens. Ik had een stukje combinatie code van stijl en script met hetzelfde probleem en het stukje code met "End Html" werkt daarvoor. Heb nu beide methodes gebruikt. Babystapjes, maar dit helpt me het meer te begrijpen. Dus nu zijn er 2 problemen opgelost met jullie hulp. Thanks a lot. Deze vraag is opgelost :)
Gewijzigd op 10/06/2021 19:57:01 door Bas Driessen




