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