我写了一个加载jvectormap(工作)的函数。 在以前的版本中,为wordpress标题中的脚本加载了必要的文件,如下所示:
<script src="/jquery-3.1.1.js"></script>
<link rel="stylesheet" href="/jquery-jvectormap-2.0.3.css" type="text/css" media="screen"/>
<script src="/jquery-jvectormap-2.0.3.min.js"></script>
<script src="/jquery-jvectormap-europe-mill.js"></script>
<script src="/jquery-jvectormap-world-mill.js"></script>
我在post文本部分加载了jvectormap函数,如下所示:
<script>
$(function(){
$('#world-map').vectorMap({
map: 'world_mill',
scaleColors: ['#C8EEFF', '#0071A4'],
normalizeFunction: 'polynomial',
hoverOpacity: 0.7,
hoverColor: false,
markerStyle: {
initial: {
fill: 'red',
stroke: '#383f47'
}
},
backgroundColor: 'gray',
markers: [
{latLng: [41.90, 12.45], name: 'Vatican City'},
{latLng: [43.73, 7.41], name: 'Monaco'},
{latLng: [-0.52, 166.93], name: 'Nauru'},
{latLng: [-8.51, 179.21], name: 'Tuvalu'},
{latLng: [43.93, 12.46], name: 'San Marino'},
{latLng: [47.14, 9.52], name: 'Liechtenstein'},
{latLng: [7.11, 171.06], name: 'Marshall Islands'},
{latLng: [17.3, -62.73], name: 'Saint Kitts and Nevis'},
{latLng: [3.2, 73.22], name: 'Maldives'},
{latLng: [35.88, 14.5], name: 'Malta'},
{latLng: [12.05, -61.75], name: 'Grenada'},
{latLng: [13.16, -61.23], name: 'Saint Vincent and the Grenadines'},
{latLng: [13.16, -59.55], name: 'Barbados'},
{latLng: [17.11, -61.85], name: 'Antigua and Barbuda'},
{latLng: [-4.61, 55.45], name: 'Seychelles'},
{latLng: [7.35, 134.46], name: 'Palau'},
{latLng: [42.5, 1.51], name: 'Andorra'},
{latLng: [14.01, -60.98], name: 'Saint Lucia'},
{latLng: [6.91, 158.18], name: 'Federated States of Micronesia'},
{latLng: [1.3, 103.8], name: 'Singapore'},
{latLng: [1.46, 173.03], name: 'Kiribati'},
{latLng: [-21.13, -175.2], name: 'Tonga'},
{latLng: [15.3, -61.38], name: 'Dominica'},
{latLng: [-20.2, 57.5], name: 'Mauritius'},
{latLng: [26.02, 50.55], name: 'Bahrain'},
{latLng: [0.33, 6.73], name: 'São Tomé and Príncipe'}
],
map: 'world_mill',
container: $('#world-map'),
series: {
regions: [{
scale: { '1': 'yellow', '2': 'red' },
attribute: 'fill',
values: {"DE":1,"FR":2},
}]
}
});
});
</script>
不幸的是,这仅适用于预览,在发布帖子后,地图未加载,我得到了
“referenceerror $未定义”
我认为这是因为标题中的路径不清楚。所以我决定通过wp_enque_script加载脚本。 我将.js文件移动到/ mytheme / js,安装了一个自定义的PHP插件并使用该php调用脚本:
第一个PHP代码:
<?php
function wpb_adding_scripts() {
wp_register_script('jquery-jvectormap-2.0.3-css', get_template_directory_uri() . '/js/jquery-jvectormap-2.0.3.css', array('jquery'),'1.1', false);
wp_enqueue_script('jquery-jvectormap-2.0.3-css');
wp_register_script('jquery-jvectormap-2.0.3-js', get_template_directory_uri() . '/js/jquery-jvectormap-2.0.3.min.js', array('jquery'),'1.1', false);
wp_enqueue_script('jquery-jvectormap-2.0.3-js');
wp_register_script('jquery-jvectormap-europe-mill', get_template_directory_uri() . '/js/jquery-jvectormap-europe-mill.js', array('jquery'),'1.1', false);
wp_enqueue_script('jquery-jvectormap-europe-mill');
wp_register_script('jquery-jvectormap-world-mill', get_template_directory_uri() . '/js/jquery-jvectormap-world-mill.js', array('jquery'),'1.1', false);
wp_enqueue_script('jquery-jvectormap-world-mill');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );
?>
第二个PHP代码(加载上面发布的jvectorfunction):
<?php
function wpb_adding_scripts() {
wp_register_script('jvectormap-foo', get_template_directory_uri() . '/js/jvectormap-foo.js', array('jquery'),'1.1', false);
wp_enqueue_script('jvectormap-foo');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );
?>
现在将这些PHP文件包含在帖子
之后[php snippet=2]
[php snippet=1]
<div id="world-map" style="width: 600px; height: 400px;"></div>
没有任何反应 - 没有控制台错误。我不知道出了什么问题。 :/ 谢谢你的关注!