es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Bloque personalizado de WordPress no se muestra en el insertador de bloque.

Estoy intentando crear un bloque personalizado para un sitio web, pero el bloque no aparece en el cuadro de diálogo del editor. He seguido varios tutoriales y he cambiado mi código muchas veces, pero simplemente no funciona.

Lo que he revisado:

  • El bloque se agrega a través de un plugin pero tampoco funciona cuando se mueve al tema.
  • Sé que el plugin está funcionando correctamente ya que puedo usar otros hooks / acciones de WordPress sin problemas dentro del plugin.
  • He intentado usar tanto ‘init’ como ‘enqueue_block_assets’ pero ninguno funciona.
  • He verificado que todas las ubicaciones y rutas de los archivos son correctas ya que las he impreso para verificar.
  • He cambiado al tema predeterminado y aún no aparece.

Cualquier ayuda sería apreciada.

Aquí está el src de bloque js (que está compilado):

“`import { registerBlockType } from ‘@wordpress/blocks’

registerBlockType('ghs/landing-page-block', {
title: 'Página de aterrizaje',
apiVersion: 2,
category: 'diseño',
icon: 'smiley',
description: 'Diseño para la página de aterrizaje de GHS',
keywords: ['GHS', 'aterrizaje', 'página', 'frontal'],
edit: () => {
return (

<div>hola</div>

)
},
save: () => {
return (

<div>hola</div>

)
}
});“`

y el código php que lo registra:

“`add_action(‘init’, function() {
$asset_file = include( WP_PLUGIN_DIR . '/ghs-custom-blocks/assets/js/landing-page-block.asset.php');

<pre><code>wp_register_script('ghs-landing-page',
WP_PLUGIN_DIR . '/ghs-custom-blocks/assets/js/landing-page-block.js',
$asset_file['dependencies'],
$asset_file['version']);

register_block_type('ghs/landing-page-block', [
'api_version' => 2,
'editor_script' => 'ghs-landing-page',
]);
</code></pre>

});“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas cosas que puede verificar si está teniendo problemas con que su bloque personalizado no aparezca en el diálogo del editor:

    • Asegúrese de que el bloque esté registrado correctamente. Según el código que proporcionó, parece que el bloque está registrado utilizando la función registerBlockType y se encuentra en cola en el editor utilizando el parámetro editor_script. Sin embargo, puede que desee verificar que el identificador que está utilizando en wp_register_script (ghs-landing-page) coincida con el identificador que está utilizando en el parámetro editor_script.
    • Compruebe si hay errores de script en la página. Si hay errores en su script, puede evitar que el bloque se cargue correctamente. Puede utilizar la consola de su navegador para buscar errores.

    • Compruebe si el bloque se está renderizando. Según el código que proporcionó, parece que el bloque simplemente regresa un elemento div con el texto “hello” adentro. Intente cambiar este texto por algo más para ver si los cambios se reflejan en la vista previa del editor.

    • Asegúrese de que el bloque se esté cargando correctamente. Puede comprobar esto abriendo las herramientas de desarrollo en su navegador y buscando cualquier error 404 en la página. Si los hay, puede significar que su archivo de script no se está cargando correctamente.

    Esperamos que alguna de estas sugerencias le ayude a hacer que su bloque personalizado aparezca en el diálogo del editor.

Comments are closed.