Files
Portfolio-2026/functions.php
T
Keith SolomonandClaude Opus 4.7 e2f6270717 Release as SoloFrame Evo (#2)
* docs: Add onboarding documentation for new developers

Add four comprehensive guides to help new developers get started
with the VDI-Starter-v5 WordPress theme:

- docs/getting-started.md: Setup from zero, local WordPress options,
  env config, theme activation warnings, troubleshooting
- docs/architecture.md: Bootstrap flow, 7 architectural layers,
  namespace conventions, WP hooks cleanup, enqueue system, theme.json
- docs/creating-blocks.md: Step-by-step ACF block creation tutorial,
  helper functions, parent-child patterns, Tailwind integration
- docs/reference.md: Hooks/filters tables, design tokens, CSS import
  tree, JS module graph, class reference, CLI commands, deployment

Update README.md: trim deep-dive API docs (moved to reference),
add documentation links section, fix CSS paths (views/styles/ →
styles/), add missing contact-info block, fix deployment filename
typo (wpengine,yml → wpengine.yml), add backToTop.js and
enqEditorAssets(), add namespace conventions table.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* docs: language graph

* docs: Update readme

* 🔵 other: Rename project and publish

* 🔵 other: Update .gitignore
2026-07-29 15:52:21 -05:00

39 lines
1.0 KiB
PHP

<?php
/**
* Functions file for the SoloFrameEvo theme.
*
* This file initializes the theme by including necessary dependencies
* and loading additional function files.
*
* @package SoloFrameEvo
* @since 1.0.0
*/
namespace SoloFrameEvo;
// Load functions.
foreach ( glob( __DIR__ . '/lib/*.php' ) as $filename ) {
include_once $filename;
}
/** Registers custom ACF (Advanced Custom Fields) blocks for use in the WordPress theme.
*
* This function is intended to define and register custom Gutenberg blocks
* using ACF, allowing for dynamic and reusable content blocks within the theme.
*
* @return void
*/
function regACFBlocks() {
define( 'BLOCKS_DIR', get_stylesheet_directory() . '/views/blocks' );
if ( is_dir( BLOCKS_DIR ) ) {
foreach ( scandir( BLOCKS_DIR ) as $folder ) {
if ( ( '.' !== $folder && '..' !== $folder && 'boilerplate' !== $folder ) && is_dir( BLOCKS_DIR . '/' . $folder ) ) {
register_block_type( BLOCKS_DIR . '/' . $folder );
}
}
}
}
add_action( 'init', __NAMESPACE__ . '\\regACFBlocks', 5 );