在WordPress中使用定制的JS插件?

时间:2017-02-19 作者:Milan Maru

如何使用粒子之类的东西。js和Divi?

我已经尝试将以下代码放入正文中的Divi集成页面(这是它在非wordpress站点上工作的地方)

    <div id="particles-js"></div> 
     <!-- PARTICLES.JS LIBRARY -->
<script src="http://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
    <!-- PARTICLES.JS SCRIPT -->
<script>
    particlesJS("particles-js", {
        "particles": {
            "number": {
                "value": 160,
                "density": {
                    "enable": true,
                    "value_area": 800
                }
            },
            "color": {
                "value": "#ffffff"
            },
            "shape": {
                "type": "circle",
                "stroke": {
                    "width": 0,
                    "color": "#000000"
                },
                "polygon": {
                    "nb_sides": 5
                },
                "image": {
                    "src": "img/github.svg",
                    "width": 100,
                    "height": 100
                }
            },
            "opacity": {
                "value": 1,
                "random": true,
                "anim": {
                    "enable": true,
                    "speed": 1,
                    "opacity_min": 0,
                    "sync": false
                }
            },
            "size": {
                "value": 3,
                "random": true,
                "anim": {
                    "enable": false,
                    "speed": 4,
                    "size_min": 0.3,
                    "sync": false
                }
            },
            "line_linked": {
                "enable": false,
                "distance": 150,
                "color": "#ffffff",
                "opacity": 0.4,
                "width": 1
            },
            "move": {
                "enable": true,
                "speed": 1,
                "direction": "none",
                "random": true,
                "straight": false,
                "out_mode": "out",
                "bounce": false,
                "attract": {
                    "enable": false,
                    "rotateX": 600,
                    "rotateY": 600
                }
            }
        },
        "interactivity": {
            "detect_on": "window",
            "events": {
                "onhover": {
                    "enable": false,
                    "mode": "grab"
                },
                "onclick": {
                    "enable": true,
                    "mode": "push"
                },
                "resize": true
            },
            "modes": {
                "grab": {
                    "distance": 400,
                    "line_linked": {
                        "opacity": 1
                    }
                },
                "bubble": {
                    "distance": 250,
                    "size": 0,
                    "duration": 2,
                    "opacity": 0,
                    "speed": 3
                },
                "repulse": {
                    "distance": 400,
                    "duration": 0.4
                },
                "push": {
                    "particles_nb": 4
                },
                "remove": {
                    "particles_nb": 2
                }
            }
        },
        "retina_detect": true
    });
</script>
我还在visual builder中的页面自定义CSS中添加了以下内容:

    canvas {
    display: block; 
    }

    #particles-js { 
    width: 100%; 
    height: 100vh; 
    background: -webkit-linear-gradient(top, #000000 1%, #0c0c24 100%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: -50; 
    }
它就是不起作用,什么都没出现。我做错了什么(

1 个回复
最合适的回答,由SO网友:Phoenix Online 整理而成

欢迎(我也是新手)。

首先,我highly 建议为您的Divi安装设置子主题;这样,当优雅主题进行更新时,您所做的任何修改都不会被覆盖。

也就是说,最好的方法是使用WordPress的原生en排队系统。在您的functions.php 文件中,添加以下内容:

function enqueue_particles() {
    wp_register_style(\'particles-styles\', get_stylesheet_directory_uri() .\'/particle.css\', array());
    wp_enqueue_style(\'particles-styles\');    
    wp_enqueue_script(\'particles-cdn\', \'//cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js\');
    wp_enqueue_script(\'particles-js\', get_stylesheet_directory_uri() .\'/particle.js\', array(\'particles-cdn\'));
}
add_action(\'wp_enqueue_scripts\', \'enqueue_particles\');
。。。然后在主题目录中创建2个新文件:

particle.css

canvas {
    display: block; 
}

#particles-js { 
    width: 100%; 
    height: 100vh; 
    background: -webkit-linear-gradient(top, #000000 1%, #0c0c24 100%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: -50; 
}
。。。和particle.js

jQuery(document).ready(
    function() {
        particlesJS("particles-js", {
            "particles": {
                "number": {
                    "value": 160,
                    "density": {
                        "enable": true,
                        "value_area": 800
                    }
                },
                "color": {
                    "value": "#ffffff"
                },
                "shape": {
                    "type": "circle",
                    "stroke": {
                        "width": 0,
                        "color": "#000000"
                    },
                    "polygon": {
                        "nb_sides": 5
                    },
                    "image": {
                        "src": "img/github.svg",
                        "width": 100,
                        "height": 100
                    }
                },
                "opacity": {
                    "value": 1,
                    "random": true,
                    "anim": {
                        "enable": true,
                        "speed": 1,
                        "opacity_min": 0,
                        "sync": false
                    }
                },
                "size": {
                    "value": 3,
                    "random": true,
                    "anim": {
                        "enable": false,
                        "speed": 4,
                        "size_min": 0.3,
                        "sync": false
                    }
                },
                "line_linked": {
                    "enable": false,
                    "distance": 150,
                    "color": "#ffffff",
                    "opacity": 0.4,
                    "width": 1
                },
                "move": {
                    "enable": true,
                    "speed": 1,
                    "direction": "none",
                    "random": true,
                    "straight": false,
                    "out_mode": "out",
                    "bounce": false,
                    "attract": {
                        "enable": false,
                        "rotateX": 600,
                        "rotateY": 600
                    }
                }
            },
            "interactivity": {
                "detect_on": "window",
                "events": {
                    "onhover": {
                        "enable": false,
                        "mode": "grab"
                    },
                    "onclick": {
                        "enable": true,
                        "mode": "push"
                    },
                    "resize": true
                },
                "modes": {
                    "grab": {
                        "distance": 400,
                        "line_linked": {
                            "opacity": 1
                        }
                    },
                    "bubble": {
                        "distance": 250,
                        "size": 0,
                        "duration": 2,
                        "opacity": 0,
                        "speed": 3
                    },
                    "repulse": {
                        "distance": 400,
                        "duration": 0.4
                    },
                    "push": {
                        "particles_nb": 4
                    },
                    "remove": {
                        "particles_nb": 2
                    }
                }
            },
            "retina_detect": true
        });
    }
);
祝你好运!