【发布时间】:2019-08-28 16:23:17
【问题描述】:
我已经设置了 ACF Gutenberg Block 以在后端编辑器中呈现光滑的滑块,并且我放置了一个 console.log 以确保它是否加载,它确实加载了。但是,它不会像在前端那样渲染滑块。
我尝试过同时使用enqueue_block_assets 和enqueue_block_editor_assets,但是这些都不起作用。
我的 JavaScript 排队:
wp_enqueue_script(
'slick',
plugins_url('slick.js', __FILE__),
['wp-blocks', 'wp-element', 'wp-components', 'wp-i18n'],
filemtime(plugin_dir_path(__FILE__) . 'slick.js')
);
wp_enqueue_script(
'slick-init',
plugins_url('init-slick.js', __FILE__),
['wp-blocks', 'wp-element', 'wp-components', 'wp-i18n'],
filemtime(plugin_dir_path(__FILE__) . 'init-slick.js')
);
我的 CSS 排队:
wp_enqueue_style(
'slick-css',
plugins_url( '/resources/slick.css', __FILE__),
[ 'wp-blocks', 'wp-element', 'wp-components', 'wp-i18n' ],
filemtime( plugin_dir_path( __FILE__ ) . '/resources/slick.css')
);
wp_enqueue_style(
'slick-theme-css',
plugins_url( '/resources/slick-theme.css' __FILE__),
[ 'wp-blocks', 'wp-element', 'wp-components', 'wp-i18n' ],
filemtime( plugin_dir_path( __FILE__ ) . '/resources/slick-theme.css')
);
我的 Init-slick.js 文件:
(function() {
$(".slider").slick({
dots: true,
infinite: true,
speed: 300,
slidesToShow: 1,
adaptiveHeight: true,
rows: 0
});
});
console.log("I'm loaded!");
总之:
function slider_block()
{
wp_enqueue_script(
'slick',
plugins_url('slick.js', __FILE__),
['wp-blocks', 'wp-element', 'wp-components', 'wp-i18n'],
filemtime(plugin_dir_path(__FILE__) . 'slick.js')
);
wp_enqueue_script(
'slick-init',
plugins_url('init-slick.js', __FILE__),
['wp-blocks', 'wp-element', 'wp-components', 'wp-i18n'],
filemtime(plugin_dir_path(__FILE__) . 'init-slick.js')
);
wp_enqueue_style(
'slick-css',
get_stylesheet_directory_uri() . '/resources/slick.css',
[ 'wp-blocks', 'wp-element', 'wp-components', 'wp-i18n' ],
filemtime(plugin_dir_path(__FILE__) . '/resources/slick.css')
);
wp_enqueue_style(
'slick-theme-css',
get_stylesheet_directory_uri() . '/resources/slick-theme.css',
[ 'wp-blocks', 'wp-element', 'wp-components', 'wp-i18n' ],
filemtime(plugin_dir_path(__FILE__) . '/resources/slick-theme.css')
);
}
add_action('enqueue_block_assets', 'slider_block');
最终结果应该是一个滑块,但是,即使选择了激活光滑滑块的单词,图像仍然显示堆叠在 acf gutenberg 块的后端。它永远不会在后端初始化添加 div 类 slick-initialized slick-slider 它仍然保留相同的 div 类 <div class="slider">
【问题讨论】:
标签: javascript php wordpress advanced-custom-fields wordpress-gutenberg