* 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
39 lines
1.0 KiB
PHP
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 );
|