如何将PHP变量传递给WordPress中的JavaScript函数?
我试图将一个元素ID值传递给如何将PHP变量传递给WordPress中的JavaScript函数?,php,jquery,wordpress,Php,Jquery,Wordpress,我试图将一个元素ID值传递给add_action(),它会在页脚中设置JS for Slick滑块 我得到的结果是: $("#").slick({... 但我想要的是: $("#rtt_grid_carrousel_5bd9bbeabd625").slick({... 这是我目前的代码: $uniqid = uniqid('rtt_grid_carrousel_'); js_rtt_grid_carrousel( $uniqid ); function js_rtt_grid_carro
add_action()
,它会在页脚中设置JS for Slick滑块
我得到的结果是:
$("#").slick({...
但我想要的是:
$("#rtt_grid_carrousel_5bd9bbeabd625").slick({...
这是我目前的代码:
$uniqid = uniqid('rtt_grid_carrousel_');
js_rtt_grid_carrousel( $uniqid );
function js_rtt_grid_carrousel( $uniqid ) {
add_action('wp_footer', function( $uniqid ) {
?>
<script id="rtt_grid_carrousel" type="text/javascript">
$(document).ready(function () {
$("#<?php echo $uniqid ?>").slick({
dots: false,
arrows: false,
infinite: false,
slidesToShow: 1,
slidesToScroll: 1,
draggable: false,
vertical: false,
centerMode: false,
adaptiveHeight: true,
// fade: true,
// cssEase: "linear",
});
});
</script>
<?php
});
}
但不是
add_action('wp_footer', function(){...}); inside that function
啊!!我找到了!:)你们给了我一些想法。
我将不得不更多地研究“使用”以了解这是什么,但它是有效的!:)谢谢大家 看起来这应该行得通,但我对PHP不是很有经验。也许可以尝试在多个位置将变量输出到页面,看看它是否始终正确。在这一行中$(“#”).slick({Put$(“#”).slick({您不应该混合使用PHP和JS-这是一种导致意外行为的糟糕做法。使用data-Attributes创建一个隐藏的输入或隐藏的DOM元素或者更好的是,我看到没有条件语句,那么为什么不使用if/else如果$uniqid是有效的-如果是,则添加一个在.JS中灵活定位的泛型类file@wadleo无效-关闭PHP允许s HTML-因此操作代码很好。稍后,我可以用$args替换$uniqid以在数组()中传递更多设置。
add_action('wp_footer', function(){...}); inside that function
$uniqid = uniqid('rtt_grid_carrousel_');
js_rtt_grid_carrousel( $uniqid );
function js_rtt_grid_carrousel( $uniqid ) {
add_action('wp_footer', function() use ( $uniqid ) {
?>
<script id="rtt_grid_carrousel" type="text/javascript">
$(document).ready(function () {
$("#<?php echo $uniqid ?>").slick({
dots: false,
arrows: false,
infinite: false,
slidesToShow: 1,
slidesToScroll: 1,
draggable: false,
vertical: false,
centerMode: false,
adaptiveHeight: true,
// fade: true,
// cssEase: "linear",
});
});
</script>
<?php
});
}
add_action('wp_footer', function() use ( $uniqid ) {...});