feat: initial ACRIB WordPress deployment
- WordPress 6.9.4 (es_ES) with Kadence theme - Homepage: Hero, La Asociación, Pilares, Beneficios, Eventos, Miembros, Hazte Miembro, Contacto - Brand identity: #13294b navy, #a12932 burgundy, #c69c48 gold - Fonts: Raleway (headings) + Source Sans 3 (body) + Lato (UI) - Plugins: Kadence Blocks, Polylang, Contact Form 7 - Custom CSS with full brand styling and responsive layout - HTTPS enforced via wp-config.php proxy detection
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules;
|
||||
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules\Ignored_Query_Var_Rule;
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules\Logged_In_Rule;
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules\Not_Found_Rule;
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules\Optimizer_Request_Rule;
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules\Post_Excluded_Rule;
|
||||
use KadenceWP\KadenceBlocks\StellarWP\ProphecyMonorepo\Container\Contracts\Provider as Provider_Contract;
|
||||
|
||||
final class Provider extends Provider_Contract {
|
||||
|
||||
public function register(): void {
|
||||
/**
|
||||
* Filter the list of query variables, that if present will bypass
|
||||
* the hash check.
|
||||
*
|
||||
* @param string[] $query_vars The query variable names.
|
||||
*/
|
||||
$query_vars = apply_filters(
|
||||
'kadence_blocks_optimizer_rule_skip_query_vars',
|
||||
[
|
||||
'preview',
|
||||
]
|
||||
);
|
||||
|
||||
$this->container->when( Ignored_Query_Var_Rule::class )
|
||||
->needs( '$query_vars' )
|
||||
->give(
|
||||
static fn(): array => $query_vars
|
||||
);
|
||||
|
||||
$this->container->when( Rule_Collection::class )
|
||||
->needs( '$rules' )
|
||||
->give(
|
||||
fn(): array => [
|
||||
$this->container->get( Optimizer_Request_Rule::class ),
|
||||
$this->container->get( Ignored_Query_Var_Rule::class ),
|
||||
$this->container->get( Not_Found_Rule::class ),
|
||||
$this->container->get( Logged_In_Rule::class ),
|
||||
$this->container->get( Post_Excluded_Rule::class ),
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules;
|
||||
|
||||
/**
|
||||
* Holds the collection of rules that determine whether to skip operations.
|
||||
*/
|
||||
final class Rule_Collection {
|
||||
|
||||
/**
|
||||
* @var Skip_Rule[]
|
||||
*/
|
||||
private array $rules;
|
||||
|
||||
/**
|
||||
* @param Skip_Rule[] $rules
|
||||
*/
|
||||
public function __construct( array $rules ) {
|
||||
$this->rules = $rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the rules in the collection.
|
||||
*
|
||||
* @return Skip_Rule[]
|
||||
*/
|
||||
public function all(): array {
|
||||
return $this->rules;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules;
|
||||
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Skip_Rule;
|
||||
use KadenceWP\KadenceBlocks\StellarWP\SuperGlobals\SuperGlobals as SG;
|
||||
|
||||
final class Ignored_Query_Var_Rule implements Skip_Rule {
|
||||
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
private array $query_vars;
|
||||
|
||||
/**
|
||||
* @filter kadence_blocks_optimizer_rule_skip_query_vars
|
||||
*
|
||||
* @param string[] $query_vars The query variable names.
|
||||
*/
|
||||
public function __construct( array $query_vars = [] ) {
|
||||
$this->query_vars = $query_vars;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function should_skip(): bool {
|
||||
foreach ( $this->query_vars as $query_var ) {
|
||||
if ( SG::get_get_var( $query_var ) !== null ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules;
|
||||
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Skip_Rule;
|
||||
|
||||
final class Logged_In_Rule implements Skip_Rule {
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function should_skip(): bool {
|
||||
return is_user_logged_in();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules;
|
||||
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Skip_Rule;
|
||||
|
||||
final class Not_Found_Rule implements Skip_Rule {
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function should_skip(): bool {
|
||||
return is_404();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules;
|
||||
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Request\Request;
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Skip_Rule;
|
||||
|
||||
final class Optimizer_Request_Rule implements Skip_Rule {
|
||||
|
||||
private Request $request;
|
||||
|
||||
public function __construct( Request $request ) {
|
||||
$this->request = $request;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function should_skip(): bool {
|
||||
return $this->request->is_optimizer_request();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Rules;
|
||||
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Skip_Rules\Skip_Rule;
|
||||
use KadenceWP\KadenceBlocks\Optimizer\Status\Status;
|
||||
use WP_Post;
|
||||
|
||||
/**
|
||||
* Skip Optimization if the post was excluded via the
|
||||
* Gutenberg plugins sidebar which stores to post meta.
|
||||
*/
|
||||
final class Post_Excluded_Rule implements Skip_Rule {
|
||||
|
||||
private Status $status;
|
||||
|
||||
public function __construct( Status $status ) {
|
||||
$this->status = $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function should_skip(): bool {
|
||||
$current_post = get_post();
|
||||
|
||||
if ( ! $current_post instanceof WP_Post ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->status->is_excluded( $current_post->ID );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php declare( strict_types=1 );
|
||||
|
||||
namespace KadenceWP\KadenceBlocks\Optimizer\Skip_Rules;
|
||||
|
||||
/**
|
||||
* Defines a rule for determining whether to skip a specific operation.
|
||||
*/
|
||||
interface Skip_Rule {
|
||||
|
||||
/**
|
||||
* Whether the result of this rule will skip
|
||||
* the associated operation.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function should_skip(): bool;
|
||||
}
|
||||
Reference in New Issue
Block a user