Block.json이 잘못된 경로를 반환함
@wordpress/create-block(https://developer.wordpress.org/block-editor/reference-guides/packages/packages-create-block/))을 사용하여 커스텀 블록 플러그인을 만들었습니다.
플러그인으로 기능하지만 테마로 이동하면 block.json 파일의 "editorScript"가 잘못된 경로를 반환합니다.
themeDirectory/blocks/mycustomblock/block.json
{
"name": "create-block/mycustomblock",
"title": "Mycustomblock",
"description": "Example block written with ESNext standard and JSX support – build step required.",
"category": "text",
"icon": "smiley",
"supports": {
"html": false
},
"attributes":{
"backgroundColor": {
"type": "string",
"default": "red"
}
},
"editorScript": "file:./build/index.js"
}
editorScript에서 경로를 반환했습니다.
404 | http://localhost:8888/wordpress-test/wp-content/plugins/Users/jonrose/Dropbox/htdocs/wordpress-test/wp-content/themes/mytheme/blocks/mycustomblock/build/index.js?ver=4f45658ee3212a45c5d5367f6fbdfeba
register_block_type 함수에 스크립트를 등록하면 정상적으로 동작합니다.
wp_register_script( 'mycustomblock-js', get_template_directory_uri() . '/blocks/mycustomblock/build/index.js', array( 'wp-blocks' ));
register_block_type( __DIR__, array(
'editor_script' => 'mycustomblock-js'
) );
블록 유형 등록block.json
사용하다register_block_script_handle
모든 관련 블록 스크립트를 등록합니다.스크립트에서 패턴을 사용하는 경우 이 함수는 URL을 생성하기 위해 사용합니다.
이미 존재하는 핸들을 전달합니다(예:mycustomblock-js
)가 동작하는 이유는 다음과 같습니다.register_block_script_handle
그렇지 않은 것을 보다file:<path>
그 핸들(및 대응하는 URL)을 그대로 사용합니다.
edavis가 옳고 그것이plugins_url()
method는 enque에 넣을 때 호출됩니다.editorScript
,editorStyle
,그리고.style
패스
다른 인수를 다음에 전달할 수 있지만register_block_type
당신이 필요한 것을 선언하기 위해 나는 단지 단순함을 유지하는 아이디어를 좋아한다.block.json
이 작업을 테마 내에서 수행하기 위해 필터 후크를 사용했습니다.plugins_url
URL 에 테마 패스가 포함되어 있는 것을 검출했을 경우, URL 를 수정합니다.
add_filter( 'plugins_url', function ( $url, $path, $plugin ) {
if ( strpos( $url, get_template_directory() ) !== false ) {
$url = str_replace( 'wp-content/plugins' . get_home_path(), '', $url );
}
return $url;
}, 10, 3 );
언급URL : https://stackoverflow.com/questions/69081471/block-json-returnes-wrong-paths
'sourcecode' 카테고리의 다른 글
Larabel에 JSON 게시 (0) | 2023.02.28 |
---|---|
기본 통화 기호(달러 기호)가 아닌 각도 js에서 특정 통화 기호(내 경우 루피 기호)를 가져오는 방법 (0) | 2023.02.28 |
$.getJ에서 변수를 반환하려면 어떻게 해야 합니까?SON 함수 (0) | 2023.02.28 |
Rspec을 사용하여 Rails 3.0.11 컨트롤러의 JSON 형식을 테스트하려면 어떻게 해야 합니까? (0) | 2023.02.28 |
do_action과 add_action은 어떻게 작동합니까? (0) | 2023.02.28 |