function partners($atts) {
extract(shortcode_atts(array(
'ids' => null,
'extra_options' => 'something' <----------------- in wordpress I can read this value using local $extra_options
), $atts));
global $extra_options; <----------------- trying to change local var to global
function print_partners_scripts() {
global $extra_options; <----------------- reading above variable
echo '<script type="text/javascript">' . "\n";
echo 'jQuery(document).ready(function() {'. "\n";
echo ' $(".partners-slider").bxSlider({
slideWidth: 924,
auto: 0,
autoStart: 0,
moveSlides: 1,
minSlides: 3,
maxSlides: 8,
pager: false,
controls: false,
slideMargin: 5,
' . $extra_options . ' <----------------- var is empty
});' . "\n";
echo '});' . "\n";
echo '</script>' . "\n";
}
add_action('wp_footer', 'print_partners_scripts');
$ids = explode(',', $ids);
$output = '<div class="ps-wrap"><div class="partners-slider">';
foreach($ids as $id) {
$img_attr = wp_get_attachment_image_src($id, 'full');
$output .= '<div class="pslide"><img src="' . $img_attr[0] . '" /></div>';
}
$output .= '</div></div>';
return $output;
}
嗨,我想读取print_partners_scripts()内的var $ extra_options。该变量在partners()函数中设置。我试图让它全球化,只是在某些地方使用它,但我想我做错了什么;)嵌套函数,变量 - PHP
在此先感谢!
你另一个函数(合作伙伴)中定义的函数(print_partners_scripts)?为什么?!你真的在任何地方打电话给print_partners_scripts()吗?你是否首先打电话给合作伙伴()? – OIS
不赞成使用全局变量。您应该将信息传递给函数或使用会话来存储数据。 –
@JacobS你有一个官方消息来源的索赔? Globals不鼓励但不被弃用。 – OIS