我正在尝试做一个快捷代码,它将向wp_footer
.
这将是一个短代码示例:
function partners($atts ) {
global $extra_options, $pslider;
extract(shortcode_atts(array(
\'ids\' => null,
\'extra_options\' => null
), $atts));
$pslider = \'partners-slider\'.rand(100,999);
$ids = explode( \',\', $ids );
$output = \'<div class="section row-one"><div class="col ps-gradient"><div class="ps-wrap"><div class="\'.$pslider.\'">\';
foreach($ids as $id) {
$img_attr = wp_get_attachment_image_src( $id, \'full\' );
$alt_text = get_post_meta( $id, \'_wp_attachment_image_alt\', true);
$output .= \'<div class="pslide"><a href="\' . $alt_text . \'"><img src="\' . $img_attr[0] . \'" /></a></div>\';
}
$output .= \'</div></div></div></div>\';
return $output;
}
add_shortcode(\'partners\', \'partners\');
从上述函数中,我需要获取变量并将其放置在jQuery脚本中:
function print_partners_scripts() {
global $extra_options, $pslider;
echo \'<script type="text/javascript">\' . "\\n";
echo \'jQuery(document).ready( function() {\'. "\\n";
echo \' $(".\'.$pslider.\'").bxSlider({
slideWidth: 924,
auto: 1,
autoStart: 1,
moveSlides: 1,
minSlides: 7,
maxSlides: 8,
pager: false,
controls: false,
slideMargin: 5,
autoHover: true
\' . $extra_options . \'
});\' . "\\n";
echo \'});\' . "\\n";
echo \'</script>\' . "\\n";
}
add_action( \'wp_footer\', \'print_partners_scripts\' );
好的,目前我有一个可以返回工作滑块的短代码。
但是,如果我在同一页上再次尝试使用此短代码,会怎么样?我已经检查过了,jQuery脚本将只追加一次。
我想为每个[合作伙伴]短代码生成这个jQuery脚本。
例如:
[partners extra_options="something: true"]
[partners extra_options="something: false"]
首先应该将此脚本添加到
wp_footer
:
<script type="text/javascript">
jQuery(document).ready( function() {
$(".pslider342").bxSlider({
slideWidth: 924,
auto: 1,
autoStart: 1,
moveSlides: 1,
minSlides: 7,
maxSlides: 8,
pager: false,
controls: false,
slideMargin: 5,
autoHover: true,
extra_options: true
});
});
</script>
它成功了
第二个脚本应使用不同的变量添加相同的脚本:
<script type="text/javascript">
jQuery(document).ready( function() {
$(".pslider456").bxSlider({
slideWidth: 924,
auto: 1,
autoStart: 1,
moveSlides: 1,
minSlides: 7,
maxSlides: 8,
pager: false,
controls: false,
slideMargin: 5,
autoHover: true,
extra_options: false
});
});
</script>
遗憾的是,没有添加此项。
真的需要你的帮助!