Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

306
Visualizações
Block.json devuelve rutas incorrectas

Creé un complemento de bloque personalizado con @wordpress/create-block ( https://developer.wordpress.org/block-editor/reference-guides/packages/packages-create-block/ )

Funciona como un complemento, pero cuando lo muevo al tema, el "editorScript" en el archivo block.json devuelve la ruta incorrecta.

 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" }

Ruta devuelta desde 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

Si registro el script dentro de la función register_block_type, funciona bien

 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' ) );
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Registrar un tipo de bloque con block.json usa register_block_script_handle bajo el capó para registrar todos los scripts de bloque relevantes. Esa función usa plugins_url para generar URL si el script usa el patrón file:<path> .

Pasar un identificador ya existente (por ejemplo, mycustomblock-js ) funciona porque register_block_script_handle ve que no es file:<path> y solo usa ese identificador (y la URL correspondiente) tal cual.

over 4 years ago · Santiago Trujillo Relatório

0

edavis es correcto y se llama al método plugins_url() cuando se colocan en cola las editorScript , editorStyle y style .

Aunque puede pasar otros argumentos a register_block_type para declarar lo que necesita, me gusta la idea de mantener un archivo block.json simple. Para hacer que esto funcione dentro de un tema, utilicé un enlace de filtro para plugins_url para corregir la URL si detecta que la ruta del tema está incluida en la 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 );
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda