J'ai créé une page de paramètres contenant diverses options de bouton radio pour un plugin personnalisé.
Un bouton radio que j'ai créé consiste à "afficher des points" avec les valeurs oui ou non. Je peux obtenir utiliser la valeur à tout autre moment, sauf dans la fonction jQuery ci-dessous.
Je voudrais obtenir la valeur de l'option à utiliser pour les "points" dans la fonction jQuery ci-dessous.
script jQuery
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('.single-item').slick({
arrows: true,
dots: ***OPTION VALUE HERE (true or false)***
});
});
Pour afficher les boutons radio que j'utilise:
<input type="radio" name="testimonial_bullet" id="mws_testimonial_bullet_yes" value="" checked="checked">Yes
<input type="radio" name="testimonial_bullet" id="mws_testimonial_bullet_no" value="no" <?php if (checked( get_option('testimonial_bullet'), 'no' )); ?> />No
Pour obtenir la valeur get_option, j'utilise:
if (get_option('testimonial_bullet') == 'no') {
// code here
}
Toute aide très appréciée
Quoi qu'il en soit, Hody_McGee a répondu à cette question dans son commentaire: Vous pouvez utiliser wp_localize_script()
. Comme il est dit dans le Codex:
[
wp_localize_script()
] peut être utilisé pour rendre disponibles à votre script toutes les données que vous pouvez normalement obtenir uniquement à partir du côté serveur de WordPress.
<?php
add_action( 'wp_enqueue_scripts', 'register_scripts' );
function register_scripts(){
wp_enqueue_script( 'some_handle', 'path-to-file', array( 'jquery' ) );
$phpInfo = array(
'testimonial_bullet' => get_option( 'testimonial_bullet' )
);
wp_localize_script( 'some_handle', 'phpInfo', $phpInfo );
}
?>
Vous étendez votre fonction, vous mettez votre script en file d'attente (vous le faites, n'est-ce pas?). Une fois que vous avez fait cela (ou que vous l'avez enregistré), vous pouvez utiliser wp_localize_script()
pour transmettre un objet à ce script. Dans notre cas, nous créons un tableau $phpInfo
, qui contient les informations de l'option.
Dans votre script, vous pouvez maintenant récupérer le contenu transmis:
jQuery(document).ready(function(){
if( phpInfo.testimonial_bullet == 'no' )
var d = '---';
else
var d = '...';
jQuery('.single-item').slick({
arrows: true,
dots: d
});
});
J'ajoute ceci, parce que je vois le <script>
- Tag, donc ces informations pourraient être intéressantes. Tout d'abord, vous devriez. C'est facile et pratique. Jetez un coup d'œil à wp_enqueue_script()
. Si vous pensez toujours, il vaudrait peut-être mieux l'écrire dans le header.php ou foorter.php , bien sûr il pourrait être des raisons de le faire. Dans ce cas, vous pouvez simplement récupérer les informations comme ceci:
<script>
jQuery(document).ready(function(){
if( '<?php echo get_option( 'testimonial_bullet' ); ?>' == 'no' )
var d = '---';
else
var d = '...';
jQuery('.single-item').slick({
arrows: true,
dots: d
});
});
</script>