- 상태
- 해결됨
- 보고된 제품
- WPML Multilingual CMS 3.2.7
- 해결된 버전
- WPML 3.3
문제 개요
WooCommerce 상품에서 Visual Composer가 활성화된 경우, WPML 3.2.7 및 WCML 3.6.11에서 옵션 탭을 전환할 수 없습니다.
임시 해결 방법
해결 방법 1
1. post-edit_fix_for_WPML_3.2.7 파일을 다운로드하세요.
2. 다운로드한 파일의 압축을 푸세요. post-edit.js 파일이 표시됩니다.
3. FTP를 사용하여 사이트에 연결하고 현재 plugins/sitepress-multilingual-cms/res/js/post-edit.js 파일을 2단계에서 압축 해제한 파일로 덮어쓰세요.
4. 브라우저 캐시를 지우세요.
해결 방법 2
1. plugins/sitepress-multilingual-cms/res/js/post-edit.js 파일을 여세요.
2. 다음을 찾으세요(240번째 줄):
/**
* HOTFIX DIALOG BOX
* Remove when WooCommerce does not include jquery-ui smoothness anymore
**/
var jQueryUI = $( '#jquery-ui-style-css[href*="smoothness"]' ),
jQuerySmoothnessHref;
// if jquery ui smoothness css is loaded
if( jQueryUI.length ) {
// event listener for hide
$.each( ['hide'], function ( i, ev ) {
var el = $.fn[ev];
if( $( this.hidden ) ) {
$.fn[ev] = function () {
this.trigger( ev );
return el.apply( this, arguments );
};
}
});
// click on Connect with translations
$( 'body' ).on( 'click', '#icl_document_connect_translations_dropdown .js-set-post-as-source', function() {
var connectDialog = $( '[aria-describedby="connect_translations_dialog"]' );
jQuerySmoothnessHref = jQueryUI.attr( 'href' );
jQueryUI.attr( 'href', '' );
connectDialog.on( 'hide', function() {
if( $( '.ui-widget-overlay' ).length == 0 ) {
jQueryUI.attr( 'href', jQuerySmoothnessHref );
connectDialog.off( 'hide' );
}
} );
} );
}
/* HOTFIX END */
3. 다음으로 바꾸세요:
/**
* HOTFIX DIALOG BOX
* Remove when WooCommerce does not include jquery-ui smoothness anymore
**/
var jQueryUI = $( '#jquery-ui-style-css[href*="smoothness"]' ),
jQuerySmoothnessHref;
// if jquery ui smoothness css is loaded
if( jQueryUI.length ) {
// click on Connect with translations
$( 'body' ).on( 'click', '#icl_document_connect_translations_dropdown .js-set-post-as-source', function() {
var connectDialog = $( '[aria-describedby="connect_translations_dialog"]'), intervalCheckDialog;
// abort if dialog does not exists
if( ! connectDialog.length ) return false;
// backup href of jquery ui smoothness
jQuerySmoothnessHref = jQueryUI.attr( 'href' );
// remove jquery ui smoothness css
jQueryUI.attr( 'href', '' );
// check every 250ms if connect translations dialog is still open
intervalCheckDialog = setInterval( function() {
// if dialog is not open anymore
if( ! connectDialog.is(':visible') ) {
if( $( '.ui-widget-overlay' ).length == 0 ) {
// reapply jquery ui smoothness css again
jQueryUI.attr( 'href', jQuerySmoothnessHref );
// stop interval
clearInterval( intervalCheckDialog );
}
}
}, 250 );
} );
}
/* HOTFIX END */
4. 저장하고 닫으세요.