我有一个javascript,当检测到内容更改时,它会重新加载页面。这是我在主站点上想要的行为。但是,当我使用Wordpress自定义程序时,我不希望出现这种行为,因为这会使工作和自定义页面变得非常困难(页面尝试重新加载)。
我尝试取消注册脚本,并在没有重新加载功能的情况下创建脚本副本。我就是这样做的:
add_action( \'wp_enqueue_scripts\', \'customize_enqueue_appc_js\' );
function customize_enqueue_appc_js() {
if ( is_customize_preview() ) {
wp_deregister_script( \'app-js\' );
wp_enqueue_script( \'appc-js\', get_template_directory_uri() . \'/javascripts/appc.js\', array(\'jquery\'), false, true );
}
}
我的想法是检测您是否使用customizer
if ( is_customize_preview() ) {
如果为true,则取消注册调用的javascript
app-js
, 并将脚本排队
appc-js
没有重新加载功能。
但这似乎不起作用。是因为定制者查看页面时没有进行修改吗?你能做这样的事吗?在Customizer中查看时是否修改页面功能?
有没有其他办法?像在jQuery中这样做?
最合适的回答,由SO网友:vikrant zilpe 整理而成
add\\u action有4个参数,第三个是priority($priority)。通常插件和子主题会在父主题之后加载脚本,以确保稍后不会溢出。因此,明智且良好的做法是将行动排在最后。为此,您需要一个非常低的优先级(非常高的数字)。
add\\u action(\'wp\\u enqueue\\u scripts\',\'jquery\\u loadup\',999);