Support » Plugin: WP Bootstrap Carousel » Caption with additional button

  • Resolved gerital

    (@gerital)


    I needed to add a button with a link in addition to title and caption. My quick and dirty solution abuses the description field and its possibility to save content as html. So you can put something like this into your media description field:

    <a class="register-button" href="http://registration.com/">Register</a>

    Then I added this code at line 292 to wp-bootstrap-carousel.php:

    $carousel .= ( ! empty( $item->post_content ) ) ? wpautop( wptexturize( $item->post_content ) ) : '';

    https://wordpress.org/plugins/wp-bootstrap-carousel/

Viewing 1 replies (of 1 total)
  • Plugin Author Peter J. Herrel

    (@donutz)

    @gerital, thanks for sharing. Instead of hacking the plugin, however, I’d recommend using the wp_bootstrap_carousel_caption_text filter.

    If you only need one single button globally, you could do something like:

    add_filter( 'wp_bootstrap_carousel_caption_text', 'my_wp_bootstrap_carousel_caption_text', 10, 1 );
    function my_wp_bootstrap_carousel_caption_text( $caption )
    {
        return $caption . '<p><a class="register-button" href="http://example.com/">Register</a></p>';
    }

    For more fine-grained control, I’d suggest enabling custom fields for the attachment post type:

    add_post_type_support( 'attachment', 'custom-fields' );

    And if not empty, appending the value of the field to the caption as follows:

    add_filter( 'wp_bootstrap_carousel_caption_text', 'my_wp_bootstrap_carousel_caption_text', 10, 2 );
    function my_wp_bootstrap_carousel_caption_text( $caption, $item_id )
    {
        $post_meta = get_post_meta( $item_id, 'wpbc_btn', true );
    
        if( '' != $post_meta )
            $caption .= "<p>{$post_meta}</p>";
    
        return $caption;
    }
Viewing 1 replies (of 1 total)
  • The topic ‘Caption with additional button’ is closed to new replies.