Bootcamp II is a wordpress theme (as well as an inside joke) designed to suit the needs of foothillschurch.com. It makes use of webpack, Babel, Sass, Tailwind, Browsersync, PostCSS, ESLint, Stylelint, Prettier and more. It is meant for that site, but if you can use it by all means go for it.
It might be better to put this <?php if ($link != null): ?> first in the loop, so empty html doesn't get generated, and you can delay other declarations until after the condition is met.
I don't know if you want the title to show even if button_group doesn't have rows, but if you don't, then you could move that if have_rows up to wrap the entire file.
https://github.com/Myzwer/foothillschurch/blob/effc5bbf81497ae99f0561ab7849412fe9272bfd/components/layouts/button-group.php#L22-L30
It might be better to put this
<?php if ($link != null): ?>
first in the loop, so empty html doesn't get generated, and you can delay other declarations until after the condition is met.I don't know if you want the title to show even if
button_group
doesn't have rows, but if you don't, then you could move that if have_rows up to wrap the entire file.Also this else can go
https://github.com/Myzwer/foothillschurch/blob/effc5bbf81497ae99f0561ab7849412fe9272bfd/components/layouts/button-group.php#L42-L43