PHP Syntax Check: Parse error: syntax error, unexpected '}'
<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
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
Misschien door wat je zegt in de opmerking, maar heb het exact zo opgevoerd zoals je voorbeeld toegevoegd.
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
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?
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