在wordpress帖子中通过php enque脚本加载jvectormap

时间:2016-12-19 11:49:45

标签: javascript php jquery wordpress

我写了一个加载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>

没有任何反应 - 没有控制台错误。我不知道出了什么问题。 :/ 谢谢你的关注!

0 个答案:

没有答案