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:
Malin
2026-05-19 19:25:59 +02:00
commit f3ff7b7186
6119 changed files with 1984255 additions and 0 deletions

View File

@@ -0,0 +1,256 @@
<?php declare( strict_types=1 );
namespace KadenceWP\KadenceBlocks\Home;
use function KadenceWP\KadenceBlocks\StellarWP\Uplink\build_auth_url;
use function KadenceWP\KadenceBlocks\StellarWP\Uplink\get_license_domain;
/**
* View model that produces the kadenceHomeParams.homeContent payload.
*
* All home page copy lives here so changes require no JavaScript deployment.
* The primaryCtaUrl for the authorized banner scenario is intentionally empty —
* the frontend interprets an empty URL as "open the AI wizard".
*
* @since 3.7.0
*/
final class Home_Content_View_Model {
/**
* @since 3.7.0
*/
public function exports(): array {
$is_authorized = ! kadence_blocks_is_ai_disabled() && kadence_blocks_is_legacy_license_authorized();
$is_liquid_web = ! $is_authorized && lw_harbor_is_product_license_active( 'kadence' );
return [
'bannerConfig' => $this->banner_config( $is_authorized, $is_liquid_web ),
'actionCards' => $this->action_cards( $is_authorized ),
'knowledgeBase' => $this->knowledge_base( $is_authorized ),
];
}
/**
* @since 3.7.0
*
* @param bool $is_authorized Whether the current site has an authorized Kadence license.
* @param bool $is_liquid_web Whether the current site is a Liquid Web customer.
*
* @return array{
* heading: string,
* body: string,
* primaryCtaText: string,
* primaryCtaUrl: string,
* secondaryCtaText?: string,
* secondaryCtaUrl?: string,
* }
*/
private function banner_config( bool $is_authorized, bool $is_liquid_web ): array {
// (new) customer scenario (liquid web).
if ( $is_liquid_web ) {
return [
'heading' => __( 'Kadence AI is evolving.', 'kadence-blocks' ),
'body' => __( "We're building something new. Kadence AI as you know it is no longer available for new activations — but great things are on the way. Stay tuned for what's next.", 'kadence-blocks' ),
'primaryCtaText' => __( 'Learn More', 'kadence-blocks' ),
'primaryCtaUrl' => 'https://www.kadencewp.com/kadence-blocks/',
];
}
// legacy customer scenario.
if ( $is_authorized ) {
return [
'heading' => __( 'Kadence is better with AI.', 'kadence-blocks' ),
'body' => __( "Elevate your web development game with Kadence AI. Supercharge your pattern and page library's potential with tailored content — get building pages in no time. You have AI credits remaining on your account.", 'kadence-blocks' ),
'primaryCtaText' => __( 'Get Started with Kadence AI', 'kadence-blocks' ),
'primaryCtaUrl' => '',
'secondaryCtaText' => __( 'Manage AI Credits', 'kadence-blocks' ),
'secondaryCtaUrl' => esc_url( build_auth_url( apply_filters( 'kadence-blocks-auth-slug', 'kadence-blocks' ), get_license_domain() ) ),
];
}
// unknown customer scenario.
return [
'heading' => __( 'Kadence AI is evolving.', 'kadence-blocks' ),
'body' => __("If you're using a legacy Kadence plan, activate your license to access your included features. If you're on a new plan, Kadence AI is currently being reimagined to deliver a more powerful experience. During this transition, it's only available on previous Kadence plans.", 'kadence-blocks' ),
'primaryCtaText' => __( 'Activate License Key', 'kadence-blocks' ),
'primaryCtaUrl' => esc_url( build_auth_url( apply_filters( 'kadence-blocks-auth-slug', 'kadence-blocks' ), get_license_domain() ) ),
'secondaryCtaText' => __( 'Learn More', 'kadence-blocks' ),
'secondaryCtaUrl' => 'https://www.kadencewp.com/kadence-blocks/',
];
}
/**
* @since 3.7.0
*
* @param bool $is_authorized Whether the current site has an authorized Kadence license.
*
* @return array{
* title: string,
* showAiIcon: bool,
* cards: array<int, array{heading: string, content: string, link: string, variant: string}>,
* }
*/
private function action_cards( bool $is_authorized ): array {
if ( $is_authorized ) {
return [
'title' => __( 'Start building with Kadence AI.', 'kadence-blocks' ),
'showAiIcon' => true,
'cards' => [
[
'heading' => __( 'Build a page with AI-powered patterns', 'kadence-blocks' ),
'content' => __( 'Take your site further with hundreds of beautiful patterns filled with custom content developed just for your site.', 'kadence-blocks' ),
'link' => admin_url( 'post-new.php?post_type=page' ),
'variant' => 'blue',
],
[
'heading' => __( 'Get started with full pages', 'kadence-blocks' ),
'content' => __( 'Choose from a variety of pages featuring exclusively tailored content for your site.', 'kadence-blocks' ),
'link' => admin_url( 'post-new.php?post_type=page' ),
'variant' => 'green',
],
[
'heading' => __( 'Fine-tune your content', 'kadence-blocks' ),
'content' => __( 'Write your own prompts to generate AI content from scratch or fine-tune existing copy.', 'kadence-blocks' ),
'link' => '',
'variant' => 'yellow',
],
],
];
}
return [
'title' => __( 'Start building with Kadence', 'kadence-blocks' ),
'showAiIcon' => false,
'cards' => [
[
'heading' => __( 'Build a page using pre-designed patterns', 'kadence-blocks' ),
'content' => __( "Elevate your site's design with hundreds of beautiful patterns, customized with your site's style.", 'kadence-blocks' ),
// TODO: add query param to open Design Library on Patterns tab once URL param is established.
'link' => admin_url( 'post-new.php?post_type=page' ),
'variant' => 'blue',
],
[
'heading' => __( 'Get started with full pages', 'kadence-blocks' ),
'content' => __( "Kickstart your site with a variety of pre-designed page layouts, customized with your site's style.", 'kadence-blocks' ),
// TODO: add query param to open Design Library on Pages tab once URL param is established.
'link' => admin_url( 'post-new.php?post_type=page' ),
'variant' => 'green',
],
[
'heading' => __( 'Start from scratch', 'kadence-blocks' ),
'content' => __( "Build your website from scratch, using Kadence's blocks for layout, content and interactions.", 'kadence-blocks' ),
'link' => admin_url( 'post-new.php?post_type=page' ),
'variant' => 'yellow',
],
],
];
}
/**
* @since 3.7.0
*
* @param bool $is_authorized Whether the current site has an authorized Kadence license.
*
* @return array{
* heading: string,
* articles: array<int, array{category: string, heading: string, description: string, link: string, linkTarget: string}>,
* }
*/
private function knowledge_base( bool $is_authorized ): array {
return [
'heading' => __( 'Need Help Getting Started?', 'kadence-blocks' ),
'articles' => $is_authorized ? $this->knowledge_base_authorized() : $this->knowledge_base_default(),
];
}
/**
* @since 3.7.0
*
* @return array<int, array{category: string, heading: string, description: string, link: string, linkTarget: string}>
*/
private function knowledge_base_authorized(): array {
return [
[
'category' => __( 'Kadence AI', 'kadence-blocks' ),
'heading' => __( 'Update AI Settings', 'kadence-blocks' ),
'description' => __( 'Update Kadence AI settings. Regenerate contexts for patterns and pages to reflect your updated needs.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/design-libary-changing-ai-details/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Kadence AI', 'kadence-blocks' ),
'heading' => __( 'Customize Image Collections', 'kadence-blocks' ),
'description' => __( 'Update your Design Library imagery using premade collections or create and customize your own.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/design-library-changing-ai-image-collections/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Kadence Blocks', 'kadence-blocks' ),
'heading' => __( 'Row Layout Block', 'kadence-blocks' ),
'description' => __( 'Use the Row Layout block to improve the column functionality and create responsive post/page layouts.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/row-layout-block-2/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Kadence Blocks', 'kadence-blocks' ),
'heading' => __( 'Advanced Text Block', 'kadence-blocks' ),
'description' => __( 'Use the Advanced Text block to add text to your page/post with advanced customization - now with AI.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/advanced-heading-block/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Support', 'kadence-blocks' ),
'heading' => __( 'Need more help?', 'kadence-blocks' ),
'description' => __( "Didn't find what you were looking for? Find more articles in our knowledge base.", 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/',
'linkTarget' => '_blank',
],
];
}
/**
* @since 3.7.0
*
* @return array<int, array{category: string, heading: string, description: string, link: string, linkTarget: string}>
*/
private function knowledge_base_default(): array {
return [
[
'category' => __( 'Kadence Blocks', 'kadence-blocks' ),
'heading' => __( 'Using the Design Library', 'kadence-blocks' ),
'description' => __( 'Use fully designed patterns and pages on your site with your own customizer settings - now with AI.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/how-to-control-the-kadence-design-library/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Kadence Blocks', 'kadence-blocks' ),
'heading' => __( 'Row Layout Block', 'kadence-blocks' ),
'description' => __( 'Use the Row Layout block to improve the column functionality and create responsive post/page layouts.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/row-layout-block-2/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Kadence Blocks', 'kadence-blocks' ),
'heading' => __( 'Advanced Text Block', 'kadence-blocks' ),
'description' => __( 'Use the Advanced Text block to add text to your page/post with advanced customization - now with AI.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/advanced-heading-block/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Kadence Blocks Pro', 'kadence-blocks' ),
'heading' => __( 'Kadence Blocks Pro Plugin', 'kadence-blocks' ),
'description' => __( 'Install and activate the Kadence Blocks Pro plugin, and get an overview of the Pro features available.', 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/docs/kadence-blocks/kadence-blocks-pro-plugin/',
'linkTarget' => '_blank',
],
[
'category' => __( 'Support', 'kadence-blocks' ),
'heading' => __( 'Need more help?', 'kadence-blocks' ),
'description' => __( "Didn't find what you were looking for? Find more articles in our knowledge base.", 'kadence-blocks' ),
'link' => 'https://www.kadencewp.com/help-center/',
'linkTarget' => '_blank',
],
];
}
}