Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

339
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Asistente virtual