- 상태
- 개발자가 해결함
- 해결된 버전
- Bricks 2.3
- 관련 플러그인/테마
- Bricks Theme
문제 개요
WPML과 함께 Bricks를 사용할 때 기본 언어의 Bricks 편집기를 열면 추가 언어 디렉토리가 포함된 잘못된 URL로 리디렉션되어 404 오류가 발생할 수 있습니다. 이 문제는 WPML이 기본 언어에 디렉토리 사용으로 설정된 경우 발생할 수 있습니다.
임시 해결 방법
임시 해결 방법 1
간단한 해결 방법(코드 없음)
- Bricks > 설정 > Builder로 이동하세요.
- 빌더 언어를 “Site Default”로 설정하고 저장하세요.
임시 해결 방법 2
진행하기 전에 사이트의 전체 사이트 백업을 완료했는지 확인하세요.
- 테마의 functions.php 파일에 다음 코드를 추가하세요.
add_action( 'after_setup_theme', function () { if ( ! defined( 'ICL_SITEPRESS_VERSION' ) || ! class_exists( 'BricksTheme' ) ) { return; } $bricks = BricksTheme::instance(); // 1. Prevent Bricks from switching language if ( ! empty( $bricks->wpml ) ) { remove_action( 'bricks/builder/switch_locale', [ $bricks->wpml, 'switch_builder_languge' ] ); } // 2. Instead switch UI locale add_action( 'bricks/builder/switch_locale', function ( $locale ) { if ( empty( $locale ) || empty( $_GET['bricks'] ) || $_GET['bricks'] !== 'run' ) { return; } // prevent memory exhausion I got on my sandbox static $lock = false; if ( $lock ) { return; } $lock = true; try { // Switch UI locale switch_to_locale( $locale ); // Reload Bricks theme textdomain unload_textdomain( 'bricks' ); load_theme_textdomain( 'bricks', get_template_directory() . '/languages' ); } finally { $lock = false; } }, 5, 1 ); }, 20 );