Loading...
Bootscore v6.2 is here! Learn more

Documentation Theme

Blocks

Bootscore has support for the most common blocks. All of them uses Bootstrap components for seamless integration.

How it works

Bootstrap classes are rendered through the render_block_core/block-name filters and are applied only on the frontend. The backend appearance is different. Several filters are available to modify the classes.

Widgets

All blocks displaying a list utilize the List group component, which doesn’t support nested lists. Make sure to disable “Show hierarchy” in the list settings

Categories

Archives

Latest Posts

  • Bootscore 6.2.0
    by Basti
    This update brings new features and updated WooCommerce templates. Version 5.3.10 is also available for users still on v5. Support for v5 officially ends with this release.
  • bs Loop Templates have been archived
    by Basti
    The repository has been archived, as Bootscore v6.1.0 hooks can now be used instead. Still available on GitHub, but unsupported.
  • bs Dark Mode v6
    by Basti
    The v6 update rewrites bs Dark Mode with class-based togglers, new filters, and customizable templates. This release contains breaking changes and requires migration from v5.
  • Bootscore 6.1.0
    by Basti
    We’re excited to announce the release of Bootscore v6.1.0! This update includes several improvements, new filters and actions, and updated WooCommerce templates.
  • Bootscore 6.0.4
    by Basti
    Bootscore 6.0.4 brings WooCommerce 9.6 updates, bug fixes, and improvements. An updated v5.3.8 is available, with v5 support officially ending in May.

Latest Comments

  1. O.k. sorry I used this: bs-isotope-equal-height instead of this: bs-isotope-equal-height type=”post” tax=”category” orderby=”date” posts=”4″

  2. Hi Bootscore, I am getting this error lately when installing BS Isotope : Uncaught TypeError: count(): Argument #1 ($value) must…

  3. This was quick Basti! Many many thanks for the quick response and the fix. Works great now.

  4. I have sent you an updated bs-toc.zip to your email address that adds ID’s to the headings if TOC shortcode…

Calendar

June 2025
MTWTFSS
 1
2345678
9101112131415
16171819202122
23242526272829
30 

WooCommerce Categories

Card in sidebar

Blocks can be wrapped in a card by using Group blocks and applying classes in the block’s advanced settings. Take a look at the card block pattern examples as well.

Group class card
└── H2 class card-header h6
└── Group class card-body
    └── Block widget

Archives

<!-- wp:group {"metadata":{"name":"card"},"className":"card hide-wp-block-classes"} -->
<div class="wp-block-group card hide-wp-block-classes"><!-- wp:heading {"metadata":{"name":"card-header h6"},"className":"card-header h6"} -->
<h2 class="wp-block-heading card-header h6">Archives</h2>
<!-- /wp:heading -->

<!-- wp:group {"metadata":{"name":"card-body"},"layout":{"type":"default"}} -->
<div class="wp-block-group"><!-- wp:group {"className":"card-body","layout":{"type":"default"}} -->
<div class="wp-block-group card-body"><!-- wp:archives {"displayAsDropdown":true,"showLabel":false,"showPostCounts":true} /--></div>
<!-- /wp:group --></div>
<!-- /wp:group --></div>
<!-- /wp:group -->

Using list-group-flush without card-body:

Group class card
└── H2 class card-header h6
└── Block widget Categories/Archives/... class list-group-flush

Categories

<!-- wp:group {"metadata":{"name":"card"},"className":"card hide-wp-block-classes"} -->
<div class="wp-block-group card hide-wp-block-classes"><!-- wp:heading {"metadata":{"name":"card-header h6"},"className":"card-header h6"} -->
<h2 class="wp-block-heading card-header h6">Categories</h2>
<!-- /wp:heading -->

<!-- wp:categories {"showPostCounts":true,"className":"list-group-flush"} /--></div>
<!-- /wp:group -->

Contents

Buttons

The Button block is limited to the primary style in filled and outlined variants. For more flexibility, take a look at the block patterns.

Table

#FirstLastHandle
1MarkOtto@mdo
2JacobThornton@fat
3Larry the bird@twitter

Blockquote

A well-known quote, contained in a blockquote element.

 Someone famous in Source Title

Expertimental: Disable unsupported blocks

If a customer wants to edit content themselves, they will find (and use) many blocks and patterns in the library that are not supported and can quickly break the website design. In this case, it’s helpful to first disable all blocks, then enable only the supported blocks and patterns to prevent major design issues. Use a filter in child-theme’s functions.php to allow supported blocks only:

/**
 * Disable unsupported blocks and patterns
 */ 
add_filter('bootscore/disable/unsupported/blocks', '__return_true');

This will disable:

  • All unsupported blocks (including those from third-party plugins)
  • All patterns from wordpress.org and wordpress.com
  • All patterns from WooCommerce

Re-enable more blocks

If more blocks are needed, you can re-enable specific ones. A complete list of available blocks can be found in the WordPress and WooCommerce block list reference.

/**
 * Enable more blocks in child theme
 */
add_filter('allowed_block_types_all', function( $allowed_blocks, $editor_context ) {

  // Additional blocks you want in child theme
  $child_supported_blocks = [
    'core/columns',
    'core/column',
    'woocommerce/single-product',
  ];

  // Only modify if $allowed_blocks is already an array (it will be from parent filter)
  if ( is_array( $allowed_blocks ) ) {
    $allowed_blocks = array_merge( $allowed_blocks, $child_supported_blocks );
    $allowed_blocks = array_unique( $allowed_blocks ); // remove duplicates just in case
  }

  return $allowed_blocks;

}, 20, 2); // Set priority 20 to run AFTER parent filter (which runs at 10)
To top