一个脚本每页只能排队和本地化一次;所以,你所描述的是正确的行为。我认为您混淆了本地化脚本和打印内联JavaScript。此外,排队和本地化应在wp_enqueue_scripts
行动
你需要用不同的方法思考。
例如(仅举一个例子),您可以使用dataset API:
首先,将脚本排队:
add_action( \'wp_enqueue_scripts\', \'cyb_enqueue_scripts\' );
function cyb_enqueue_scripts() {
wp_enqueue_script( \'ada_chart_handle\', plugins_url().\'/ada-chart/js/ada-chart1.js\' );
}
其次,使用数据atribute包括
cid
值:
add_shortcode( \'ada_chart\', \'ada_chart_stranka\' );
function ada_chart_stranka ($atts) {
$a = shortcode_atts( array(
\'cid\' => \'\',
), $atts );
$cislo_chart = $a[\'cid\'];
return \'<div data-cid="\' . $cislo_chart . \'"></div>\';
}
第三,编写JavaScript,使用dataset API读取数据cid属性并执行所需操作:
// Get all elements with data-cid attribute
var a = document.querySelectorAll(\'[data-cid]\');
// Loop over all selected elements
for (var i in a) if (a.hasOwnProperty(i)) {
// Get the value of data-cid attribute for current element in the loop
var cid = a[i].getAttribute(\'data-cid\');
// Do something with the cid value
}