强制WordPress实时预览重新加载

时间:2013-12-15 17:28:19

标签: jquery wordpress wordpress-theming

如果在主题自定义程序中设置了选项,我会将一些元素加载到我的主页中。将控件添加到主题自定义程序以显示我已将传输设置为postMessage的元素时,因此在更改选项时不会重新加载预览。在我用来实时更新预览的javascript文件中,当显示额外元素的选项被更改时,我正在检查天气是否已加载元素,如果有,我使用fadeIn和fadeOut来删除或添加元素,但是如果它们尚未加载,我将需要强制使用jquery重新加载预览,因为元素将不存在于fadeInfadeOut。以下是我到目前为止的jquery ......

wp.customize( 'element_show', function( value ) {
  value.bind( function( newval ) {
    if($(".element").length == 0){
      //elements are not loaded so need to reload the live preview on change to load the elements, this is where I am stuck
    }
    else{
      //elements are loaded so it is just a case of using fadeIn and fadeOut
      if(newval == 'yes'){
        $(".element").fadeIn();
      }
      else{
        $(".element").fadeOut();
      }
    }
  } );
} ); 

我希望有意义,提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

使用此选项强制刷新自定义程序中的预览窗格:

wp.customize.previewer.refresh();

最终代码

wp.customize( 'element_show', function( value ) {
value.bind( function( newval ) {
if($(".element").length == 0){
  wp.customize.previewer.refresh();
}
else{
  if(newval == 'yes'){
    $(".element").fadeIn();
  }
  else{
    $(".element").fadeOut();
  }
}
} );
} );