Crear Hooks personalizados en Generatepress

Club para webmasters Foros Creación de páginas web Crear Hooks personalizados en Generatepress

Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Autor
    Entradas
  • #46756 Karma: 1
    RaulM
    Participante
    3

    Hola,

    estoy encallado con un tema, a ver si alguien me puede ayudar. Primero un poco de contexto. He creado una web automática con mogollón de etiquetas. Mi idea es que cada etiqueta tenga una página en la que muestro todos los artículos de esa etiqueta según su categoría. En total son 3 grids diferentes. Mi idea es hacerlo de modo automático con un elemento de bucle de consulta de generatepress. He generado un elemento de tipo bloquepara poder montarlo con Gutenberg. He seleccionado tipo hook y el problema es que tienen que ir dentro de parte del contenido: después del primer h2 por ejemplo. He visto que en el curso se comenta que solo se pueden meter en partes de la plantilla. Pero, con la opción de hook personalizado? No se podría determinar un espacio concreto de la plantilla para meterlo? Alguien a explorado esta opción? He encontrado este debate, pero la verdad no me entero de lo que dicen. No tengo un perfil técnico.

    Saludos!

    #46769 Karma: 1
    David Cuesta
    Superadministrador
    179

    Buenas Raúl,

    Oye muy buena idea el debate que pasas, a ver si funciona.
    Te lo explico:

    Con el primer código, añadido con el plugin de code snippets, creas un shortcode
    Este shorcode lo que hace es que planta un hook en donde lo pongas.
    Entonces si en medio de tu contenido pones el shortcode: [portable_hook hook_name=»hook1″]
    Luego podrás elegir en los hooks en los que quieras meter algo, el hook1, y corresponderá a donde hayas metido ese shortcode

    El resto de código que presenta es para hacerlo con php directamente en la plantilla

    Si lo pruebas cuéntanos 🙂

    Un saludo!

    #46771 Karma: 1
    RaulM
    Participante
    3

    Hola,

    Pues funciona y abre un abanico de posibilidades ;).

    Detallo aquí como lo he hecho por si es de utilidad para alguien:

    1. Pegar el código en el functions.php o hacerlo mediante el plugin code snippets
    2. Crear tantos hooks como necesites. En mi caso lo he hecho para grids automáticos según etiqueta (no olvides ponerle un nombre en apartado nombre del gancho personalizado para poder llamarlo).
    3. Llamar al hook desde donde necesites con el shrtocode:

    [portable_hook hook_name=»my_custom_hook_1″]
    [portable_hook hook_name=»my_custom_hook_1″]
    etc

    El código es el siguiente;

    add_shortcode(‘portable_hook’, function($atts){
    ob_start();
    $atts = shortcode_atts( array(
    ‘hook_name’ => ‘no foo’
    ), $atts, ‘portable_hook’ );
    do_action($atts[‘hook_name’]);
    return ob_get_clean();
    });

    Nada más, espero que sea de utilidad.

    Saludos

    #46774 Karma: 0
    David Cuesta
    Superadministrador
    179

    Genial, gracias por compartir la experiencia 🙂

    Me lo guardo porque lo veo super útil

    Un saludo!

Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Debes estar registrado para responder a este debate.