Cómo insertar libros de Google Books en WordPress con un shortcode personalizado

Si deseas mostrar una vista previa de un libro desde Google Books dentro de tu sitio WordPress, puedes hacerlo fácilmente mediante un shortcode personalizado.

A continuación te explico cómo crear una función que te permitirá insertar libros usando su ID de Google Books (ISBN o ID único), definiendo el ancho y alto del visor. Solo necesitas copiar este fragmento de código dentro del archivo functions.php del tema activo:

// Shortcode para insertar libros de Google Books
add_shortcode('gbooks', 'google_books_shortcode');
function google_books_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'id'     => '',
        'width'  => 600,
        'height' => 900,
    ), $atts, 'gbooks' );

    if ( empty( $atts['id'] ) ) {
        return '<p><strong>Error:</strong> No se ha definido el ID del libro.</p>';
    }

    return sprintf(
        '<script type="text/javascript" src="https://books.google.com/books/previewlib.js"></script>
        <script type="text/javascript">
        GBS_insertEmbeddedViewer("%s", %d, %d);
        </script>',
        esc_js( $atts['id'] ),
        intval( $atts['width'] ),
        intval( $atts['height'] )
    );
}

¿Cómo usar el shortcode?
Puedes usar este shortcode en cualquier entrada, página o widget con el siguiente formato:
id: el ISBN o ID de Google Books (por ejemplo: zyTCAlFPjgYC)
Puedes encontrar el ID del libro directamente desde la URL de vista previa de Google Books, por ejemplo: https://books.google.com/books?id=zyTCAlFPjgYC

[gbooks id="zyTCAlFPjgYC" width="400" height="600"]