如果多次访问,为什么jquery从WordPress短代码中获取相同的ID?

时间:2017-06-10 11:52:25

标签: javascript php jquery wordpress shortcode

我创建了一个短代码,可生成带滑动选项的jquery产品卡。

我希望将其包含在wordpress插件中,以便可以通过wp短代码调用它。我成功地做到了,但是我面临的问题是,当我在同一页面上添加两次短代码时,它不会传递新的ID。我在短代码中提供唯一ID。请参阅快速函数以生成短代码

function procard($atts) {
$wm_atts = shortcode_atts(array(
    'id' => 1,        
        ), $atts);

$wce_uid = $atts['id'];

wp_enqueue_script('wce_reg_script' . $wce_uid, plugins_url('js/wce_script.js', __FILE__), array('jquery'), '1.0.0', true);
$data_array = array(
    'wce_id' => $wce_uid,        
);
wp_localize_script('wce_reg_script' . $wce_uid, 'data_object_name', $data_array);

$wc_output = '';
$wc_output .= '<div class="card">I removed all html for now</div>';
return $wc_output;
unset($data_array);
}

add_shortcode('procard', 'procard'); 

这是排队的wce_script.js文件。

jQuery(document).ready(function($) {

alert("The ID is "+ data_object_name.wce_id)
});

当短代码出现两次时ID为1&amp; 2,警报将仅显示ID 2两次。它不会带来ID 1.因为第一个短代码由于唯一ID而没有传递正确的数据。

任何想法?

0 个答案:

没有答案