我想在我的WordPress中集成Facybox 3(仅在帖子上)。它可以工作,但我有点麻烦,因为初始化脚本是在核心缩小后加载的fancybox js
. 这是我在孩子身上添加的代码functions.php
:
// ENQUEUE FANCYBOX SCRIPT
function fancy_scripts() {
if ( is_single() ) {
wp_enqueue_script( \'fancybox-script\', \'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js\', array(), \'3.3.5\', true );
}
}
add_action( \'wp_enqueue_scripts\', \'fancy_scripts\' );
// INITIALIZE
function fancy_init(){
if ( is_single() ) {
?>
<script>
jQuery(document).ready(function($){
$("[data-fancybox]").fancybox({
buttons: [
\'zoom\',
\'fullScreen\',
\'share\',
\'thumbs\',
\'close\'
],
protect: true
});
$(document).on(\'click\', \'.fancybox-share a.fancybox-share__button\', function(e){
e.preventDefault();
var url = $(this).attr(\'href\');
window.open(url, \'_blank\');
});
});
</script>
<?php
}
}
add_action(\'wp_footer\',\'fancy_init\')
;
// ENQUEUE CSS TO FOOTER
function fancy_footer_styles() {
if ( is_single() ) {
wp_enqueue_style( \'fancybox-style\',\'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.css\' );
}
};
add_action( \'get_footer\', \'fancy_footer_styles\' );
下面是输出html<!--FOOTER-->
<script>
jQuery(document).ready(function($){
$("[data-fancybox]").fancybox({
buttons: [
\'zoom\',
\'fullScreen\',
\'share\',
\'thumbs\',
\'close\'
],
protect: true
});
$(document).on(\'click\', \'.fancybox-share a.fancybox-share__button\', function(e){
e.preventDefault();
var url = $(this).attr(\'href\');
window.open(url, \'_blank\');
});
});
</script>
<link rel=\'stylesheet\' id=\'fancybox-style-css\' href=\'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.css?ver=81a38b5eb2a4df901367646a93448a94\' type=\'text/css\' media=\'all\' />
<script type=\'text/javascript\' src=\'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js?ver=3.3.5\'></script>
我的问题是:在核心花式js之前初始化加载是否有问题。
function fancy_scripts() {
if ( is_single() ) {
wp_enqueue_script( \'fancybox-script\', \'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js\', array(), \'3.3.5\', true );
wp_enqueue_script( \'custom-script\', get_stylesheet_directory_uri() . \'/js/custom-scripts.js\', array( \'jquery\' ), true );
}
}
add_action( \'wp_enqueue_scripts\', \'fancy_scripts\' );