update
This commit is contained in:
@@ -2815,6 +2815,115 @@
|
||||
"acfe_flexible_category": false,
|
||||
"acfe_layout_col": "auto",
|
||||
"acfe_layout_allowed_col": false
|
||||
},
|
||||
"layout_680901a1b0001": {
|
||||
"key": "layout_680901a1b0001",
|
||||
"name": "collaboration_steps",
|
||||
"label": "Kroki współpracy",
|
||||
"display": "block",
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_680901a1b0002",
|
||||
"label": "Section Heading",
|
||||
"name": "section_heading",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "Nagłówek sekcji, np. Jak wygląda współpraca?",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": "",
|
||||
"maxlength": "",
|
||||
"acfe_field_group_condition": 0
|
||||
},
|
||||
{
|
||||
"key": "field_680901a1b0003",
|
||||
"label": "Steps",
|
||||
"name": "steps",
|
||||
"aria-label": "",
|
||||
"type": "repeater",
|
||||
"instructions": "Dodaj kroki współpracy (numerowane automatycznie)",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"layout": "table",
|
||||
"pagination": 0,
|
||||
"min": 0,
|
||||
"max": 0,
|
||||
"collapsed": "field_680901a1b0004",
|
||||
"button_label": "Dodaj krok",
|
||||
"rows_per_page": 20,
|
||||
"acfe_field_group_condition": 0,
|
||||
"sub_fields": [
|
||||
{
|
||||
"key": "field_680901a1b0004",
|
||||
"label": "Step Title",
|
||||
"name": "step_title",
|
||||
"aria-label": "",
|
||||
"type": "text",
|
||||
"instructions": "",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"placeholder": "",
|
||||
"prepend": "",
|
||||
"append": "",
|
||||
"maxlength": "",
|
||||
"acfe_field_group_condition": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "field_680901a1b0005",
|
||||
"label": "Bottom Text",
|
||||
"name": "bottom_text",
|
||||
"aria-label": "",
|
||||
"type": "textarea",
|
||||
"instructions": "Tekst wyświetlany pod krokami",
|
||||
"required": 0,
|
||||
"conditional_logic": 0,
|
||||
"wrapper": {
|
||||
"width": "",
|
||||
"class": "",
|
||||
"id": ""
|
||||
},
|
||||
"default_value": "",
|
||||
"placeholder": "",
|
||||
"maxlength": "",
|
||||
"rows": 3,
|
||||
"new_lines": "",
|
||||
"acfe_field_group_condition": 0
|
||||
}
|
||||
],
|
||||
"min": "",
|
||||
"max": "",
|
||||
"acfe_flexible_render_template": false,
|
||||
"acfe_flexible_render_style": false,
|
||||
"acfe_flexible_render_script": false,
|
||||
"acfe_flexible_thumbnail": false,
|
||||
"acfe_flexible_settings": false,
|
||||
"acfe_flexible_settings_size": "medium",
|
||||
"acfe_layout_locations": [],
|
||||
"acfe_flexible_modal_edit_size": false,
|
||||
"acfe_flexible_category": false,
|
||||
"acfe_layout_col": "auto",
|
||||
"acfe_layout_allowed_col": false
|
||||
}
|
||||
},
|
||||
"min": "",
|
||||
@@ -2879,5 +2988,5 @@
|
||||
"acfe_display_title": "",
|
||||
"acfe_meta": "",
|
||||
"acfe_note": "",
|
||||
"modified": 1700652362
|
||||
"modified": 1744329600
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
272
wp-content/themes/ostal_WP/migrate-2707.php
Normal file
272
wp-content/themes/ostal_WP/migrate-2707.php
Normal file
@@ -0,0 +1,272 @@
|
||||
<?php
|
||||
/**
|
||||
* One-time migration script for page 2707 (Ogrody zimowe - klienci indywidualni)
|
||||
* Populates ACF Flexible Content fields with hardcoded content.
|
||||
*
|
||||
* Usage: Visit /wp-content/themes/ostal_WP/migrate-2707.php?run=migrate-2707
|
||||
* Or via WP-CLI: wp eval-file wp-content/themes/ostal_WP/migrate-2707.php --run=migrate-2707
|
||||
*
|
||||
* ⚠️ DELETE THIS FILE AFTER MIGRATION!
|
||||
*/
|
||||
|
||||
// Bootstrap WordPress
|
||||
require_once dirname(__FILE__) . '/../../../wp-load.php';
|
||||
|
||||
// Safety check: require explicit parameter
|
||||
if (!isset($_GET['run']) || $_GET['run'] !== 'migrate-2707') {
|
||||
die('Safety check failed. Use ?run=migrate-2707 to execute.');
|
||||
}
|
||||
|
||||
// Safety check: only admins
|
||||
if (!current_user_can('manage_options')) {
|
||||
die('Admin access required. Please log in first.');
|
||||
}
|
||||
|
||||
$page_id = 2707;
|
||||
|
||||
// Safety check: don't overwrite existing data
|
||||
$existing = get_field('sections', $page_id);
|
||||
if (!empty($existing)) {
|
||||
die('Page 2707 already has sections data (' . count($existing) . ' layouts). Aborting to prevent overwrite. Delete existing sections first if you want to re-run.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper: find attachment ID by image URL
|
||||
*/
|
||||
function get_attachment_id_by_url($url) {
|
||||
global $wpdb;
|
||||
$path = parse_url($url, PHP_URL_PATH);
|
||||
// Remove size suffix (e.g., -1024x576)
|
||||
$path = preg_replace('/-\d+x\d+(?=\.\w+$)/', '', $path);
|
||||
$filename = basename($path);
|
||||
$sql = $wpdb->prepare(
|
||||
"SELECT ID FROM $wpdb->posts WHERE post_type = 'attachment' AND guid LIKE %s LIMIT 1",
|
||||
'%' . $wpdb->esc_like($filename) . '%'
|
||||
);
|
||||
return (int) $wpdb->get_var($sql);
|
||||
}
|
||||
|
||||
// Build sections array
|
||||
$sections = [];
|
||||
|
||||
// ── Layout 1: Hero with form ──────────────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'hero_with_form',
|
||||
'section_id' => 'hero_box',
|
||||
'heading' => 'Całoroczne ogrody zimowe klasy premium',
|
||||
'text' => '<p class="hero-text text-white m-0">Projektujemy i realizujemy indywidualne ogrody zimowe, które zwiększają komfort domu i pozwalają korzystać z przestrzeni przez cały rok - niezależnie od pogody.</p>
|
||||
<p class="hero-text text-white m-0"><strong>Izolowane systemy aluminiowe<br>
|
||||
Szyby Ug=1,1 lub 0,5<br>
|
||||
Zintegrowane osłony przeciwsłoneczne</strong></p>
|
||||
<p class="hero-text text-white m-0">Sprawdź orientacyjny budżet projektu<br>
|
||||
Porozmawiajmy o twoim ogrodzie zimowym.</p>',
|
||||
'form_shortcode' => '[contact-form-7 id="21a1143" title="Formularz kontaktowy"]',
|
||||
'background_image' => '/wp-content/uploads/2023/10/ogrody-zimowe.jpg',
|
||||
];
|
||||
|
||||
// ── Layout 2: Two-col — intro ─────────────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section',
|
||||
'section_heading' => 'Nasze ogrody zimowe powstają z myślą o klientach, którzy szukają trwałego,<br>elastycznego i bezpiecznego rozwiązania na lata, a nie tymczasowej zabudowy.',
|
||||
'text' => '<p>Każda realizacja jest projektowana indywidualnie - z uwzględnieniem architektury budynku, warunków technicznych i sposobu użytkowania.</p>
|
||||
<p>Realizacje całorocznych ogrodów zimowych rozpoczynają się od około 100 000 zł netto.</p>',
|
||||
'image' => 'https://ostal.pl/wp-content/uploads/2026/01/IMG_2832-scaled.jpg',
|
||||
'choose_heading' => 'h2',
|
||||
'heading_position' => 'textRight',
|
||||
'additional_class' => 'imageLeft',
|
||||
'additional_section_class' => 'bg-light',
|
||||
'additional_wrapper_class' => '',
|
||||
'cta' => '',
|
||||
'cta_text' => '',
|
||||
];
|
||||
|
||||
// ── Layout 3: Two-col — cechy wyróżniające ────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section',
|
||||
'section_heading' => 'Co wyróżnia nasze ogrody zimowe',
|
||||
'text' => '<ul style="list-style: none; padding: 0;">
|
||||
<li>- Komfort użytkowania przez cały rok.</li>
|
||||
<li>- Stabilna izolowana termicznie konstrukcja aluminiowa.</li>
|
||||
<li>- Wysokie parametry cieplne przeszkleń (Ug=1,1 - Ug=0,5)</li>
|
||||
<li>- Ochrona przed słońcem dzięki zintegrowanym markizom i żaluzjom.</li>
|
||||
<li>- Estetyka dopasowana do architektury budynku</li>
|
||||
</ul>
|
||||
<p>Nie pracujemy na gotowych schematach - każdy ogród zimowy powstaje jako spójny element domu, a nie dobudowany „dodatek".</p>',
|
||||
'image' => 'https://ostal.pl/wp-content/uploads/2026/01/199-f27gxxl.jpg',
|
||||
'choose_heading' => 'h2',
|
||||
'heading_position' => 'textRight',
|
||||
'additional_class' => '',
|
||||
'additional_section_class' => 'bg-light',
|
||||
'additional_wrapper_class' => '',
|
||||
'cta' => '',
|
||||
'cta_text' => '',
|
||||
];
|
||||
|
||||
// ── Layout 4: Collaboration steps ─────────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'collaboration_steps',
|
||||
'section_heading' => 'Jak wygląda współpraca?',
|
||||
'steps' => [
|
||||
['step_title' => 'Rozmowa i analiza potrzeb.'],
|
||||
['step_title' => 'Koncepcja i dobór rozwiązań'],
|
||||
['step_title' => 'Indywidualna oferta i harmonogram'],
|
||||
['step_title' => 'Umowa i zaliczka rezerwująca termin'],
|
||||
['step_title' => 'Produkcja i montaż'],
|
||||
],
|
||||
'bottom_text' => 'Prowadzimy klienta przez cały proces - spokojnie krok po kroku.',
|
||||
];
|
||||
|
||||
// ── Layout 5: Two-col — doświadczenie ─────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section',
|
||||
'section_heading' => 'Doświadczenie w systemach aluminiowych',
|
||||
'text' => '<p>Od wielu lat pracujemy na systemach aluminiowych stosowanych zarówno w budownictwie jednorodzinnym, jak i obiektach komercyjnych.</p>
|
||||
<p>Realizujemy m.in. stolarkę okienną i drzwiową, żaluzje fasadowe, i rolety zewnętrzne, a ogrody zimowe są naturalnym rozszerzeniem tych rozwiązań w tym samym standardzie technicznym i wykonawczym.</p>',
|
||||
'image' => '/wp-content/uploads/2026/02/att_698c47679eb9b4.14191582.jpeg',
|
||||
'choose_heading' => 'h2',
|
||||
'heading_position' => 'textRight',
|
||||
'additional_class' => 'imageLeft',
|
||||
'additional_section_class' => 'bg-light',
|
||||
'additional_wrapper_class' => '',
|
||||
'cta' => '',
|
||||
'cta_text' => '',
|
||||
];
|
||||
|
||||
// ── Layout 6: Two-col — planowanie ────────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section',
|
||||
'section_heading' => 'Planowanie realizacji bez pośpiechu',
|
||||
'text' => '<p>Wielu naszych klientów decyduje się na zaplanowanie ogrodu zimowego z wyprzedzeniem.<br>
|
||||
Pozwala to spokojnie przygotować projekt i zarezerwować dogodny termin realizacji na wiosnę lub lato.</p>',
|
||||
'image' => '/wp-content/uploads/2026/02/att_698c4767a04c46.41417006.jpg',
|
||||
'choose_heading' => 'h2',
|
||||
'heading_position' => 'textRight',
|
||||
'additional_class' => 'imageLeft',
|
||||
'additional_section_class' => 'bg-light',
|
||||
'additional_wrapper_class' => '',
|
||||
'cta' => '',
|
||||
'cta_text' => '',
|
||||
];
|
||||
|
||||
// ── Layout 7: Two-col — kontakt ───────────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section',
|
||||
'section_heading' => 'Porozmawiajmy o twoim projekcie',
|
||||
'text' => '<p>Jeśli rozważasz budowę całorocznego ogrodu zimowego i chcesz sprawdzić, czy to rozwiązanie ma sens w Twoim przypadku - zapraszamy do kontaktu.</p>',
|
||||
'image' => '/wp-content/uploads/2026/02/att_698c47679ad0a0.33546122.jpeg',
|
||||
'choose_heading' => 'h2',
|
||||
'heading_position' => 'textRight',
|
||||
'additional_class' => 'imageLeft',
|
||||
'additional_section_class' => 'bg-light',
|
||||
'additional_wrapper_class' => '',
|
||||
'cta' => '',
|
||||
'cta_text' => '',
|
||||
];
|
||||
|
||||
// ── Layout 8: Two-col with BG — CTA ──────────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section_with_bg',
|
||||
'section_heading' => 'Sprawdź orientacyjny budżet projektu',
|
||||
'text' => '',
|
||||
'cta' => '#hero_box',
|
||||
'cta_text' => 'Umów rozmowę',
|
||||
'background_image' => 'https://ostal.pl/wp-content/uploads/2021/05/hero-about.jpg',
|
||||
'image' => '',
|
||||
'heading_position' => '',
|
||||
'additional_class' => '',
|
||||
'additional_section_class' => 'bg-dark',
|
||||
'additional_wrapper_class' => '',
|
||||
];
|
||||
|
||||
// ── Layout 9: Two-col — funkcje ogrodów ───────────────────────────────
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'two_col_section',
|
||||
'section_heading' => 'Funkcje ogrodów zimowych',
|
||||
'text' => '<p>Nowoczesny ogród zimowy to nie tylko dodatkowe pomieszczenie wypoczynkowe – pokój zimowy, w którym możesz przyjmować gości lub relaksować się po ciężkim dniu w otoczeniu ulubionych roślin. Przez cały rok i w każdą pogodę. Konstrukcja jaką posiada nowoczesny ogród zimowy:<br>
|
||||
– stanowi efektowne dopełnienie bryły domu, nadając mu nowoczesnego charakteru,<br>
|
||||
– chroni przed hałasem, który dochodzi z zewnątrz,<br>
|
||||
– ze względu na szczelność utrzymuje ciepło i pomaga obniżyć bilans energetyczny domu.</p>',
|
||||
'image' => 'https://ostal.pl/wp-content/uploads/2023/10/DECORATION-PHOTO-1.jpg',
|
||||
'choose_heading' => 'h2',
|
||||
'heading_position' => 'textRight',
|
||||
'additional_class' => 'imageLeft',
|
||||
'additional_section_class' => 'bg-light',
|
||||
'additional_wrapper_class' => '',
|
||||
'cta' => '',
|
||||
'cta_text' => '',
|
||||
];
|
||||
|
||||
// ── Layout 10: Gallery ────────────────────────────────────────────────
|
||||
$gallery_urls = [
|
||||
'https://ostal.pl/wp-content/uploads/2023/10/202-4c7gxxl.jpg',
|
||||
'https://ostal.pl/wp-content/uploads/2023/10/199-f27gxxl.jpg',
|
||||
'https://ostal.pl/wp-content/uploads/2023/10/20170608_142315-1024x576.jpg',
|
||||
'https://ostal.pl/wp-content/uploads/2023/10/IMG_0535-1-1024x768.jpg',
|
||||
'https://ostal.pl/wp-content/uploads/2023/10/IMG_3754-1-1-1024x768.jpg',
|
||||
'https://ostal.pl/wp-content/uploads/2023/10/Frame-36-1-1024x728.jpg',
|
||||
];
|
||||
|
||||
$gallery_ids = [];
|
||||
$gallery_warnings = [];
|
||||
foreach ($gallery_urls as $url) {
|
||||
$id = get_attachment_id_by_url($url);
|
||||
if ($id > 0) {
|
||||
$gallery_ids[] = $id;
|
||||
} else {
|
||||
$gallery_warnings[] = "Warning: Could not find attachment for: $url";
|
||||
}
|
||||
}
|
||||
|
||||
$sections[] = [
|
||||
'acf_fc_layout' => 'gallery',
|
||||
'section_id' => 'galeria',
|
||||
'section_heading' => 'Nasze realizacje ogrodów zimowych',
|
||||
'gallery' => $gallery_ids,
|
||||
'additional_class' => '',
|
||||
'additional_section_class' => '',
|
||||
'additional_wrapper_class' => '',
|
||||
];
|
||||
|
||||
// ── Execute migration ─────────────────────────────────────────────────
|
||||
$result = update_field('sections', $sections, $page_id);
|
||||
|
||||
if ($result) {
|
||||
echo "<h1 style='color: green;'>Migration successful!</h1>";
|
||||
echo "<p>Created " . count($sections) . " layouts for page $page_id.</p>";
|
||||
echo "<ul>";
|
||||
echo "<li>1. hero_with_form</li>";
|
||||
echo "<li>2. two_col_section (intro)</li>";
|
||||
echo "<li>3. two_col_section (cechy)</li>";
|
||||
echo "<li>4. collaboration_steps (5 kroków)</li>";
|
||||
echo "<li>5. two_col_section (doświadczenie)</li>";
|
||||
echo "<li>6. two_col_section (planowanie)</li>";
|
||||
echo "<li>7. two_col_section (kontakt)</li>";
|
||||
echo "<li>8. two_col_section_with_bg (CTA)</li>";
|
||||
echo "<li>9. two_col_section (funkcje)</li>";
|
||||
echo "<li>10. gallery (" . count($gallery_ids) . " images)</li>";
|
||||
echo "</ul>";
|
||||
|
||||
if (!empty($gallery_warnings)) {
|
||||
echo "<h3 style='color: orange;'>Gallery warnings:</h3>";
|
||||
echo "<ul>";
|
||||
foreach ($gallery_warnings as $w) {
|
||||
echo "<li>$w</li>";
|
||||
}
|
||||
echo "</ul>";
|
||||
echo "<p>Missing gallery images need to be added manually in WP admin.</p>";
|
||||
}
|
||||
|
||||
echo "<hr>";
|
||||
echo "<h2 style='color: red;'>⚠️ DELETE THIS FILE NOW!</h2>";
|
||||
echo "<p>File location: " . __FILE__ . "</p>";
|
||||
echo "<p><a href='/wp-admin/post.php?post=$page_id&action=edit'>Edit page $page_id in admin</a></p>";
|
||||
echo "<p><a href='/?page_id=$page_id'>Preview page $page_id</a></p>";
|
||||
} else {
|
||||
echo "<h1 style='color: red;'>Migration failed!</h1>";
|
||||
echo "<p>update_field() returned false. Check that:</p>";
|
||||
echo "<ul>";
|
||||
echo "<li>ACF Pro is active</li>";
|
||||
echo "<li>The 'sections' field group exists and is assigned to page $page_id</li>";
|
||||
echo "<li>The field group contains all required layouts (hero_with_form, two_col_section, two_col_section_with_bg, collaboration_steps, gallery)</li>";
|
||||
echo "</ul>";
|
||||
}
|
||||
@@ -1,225 +1,3 @@
|
||||
<?php get_header(); ?>
|
||||
<?php
|
||||
$collaboration = [
|
||||
"Rozmowa i analiza potrzeb.",
|
||||
"Koncepcja i dobór rozwiązań",
|
||||
"Indywidualna oferta i harmonogram",
|
||||
"Umowa i zaliczka rezerwująca termin",
|
||||
"Produkcja i montaż"
|
||||
];
|
||||
?>
|
||||
|
||||
<section id="hero_box" class="hero-with-form">
|
||||
<div class="hero-wrapper wrapper--inner" style="background: url('/wp-content/uploads/2023/10/ogrody-zimowe.jpg');">
|
||||
<span class="bg-filter"></span>
|
||||
<div class="hero-content">
|
||||
<h1 class="hero-heading heading--xl text-white">
|
||||
Całoroczne ogrody zimowe klasy premium
|
||||
</h1>
|
||||
<p class="hero-text text-white m-0">
|
||||
Projektujemy i realizujemy indywidualne ogrody zimowe, które zwiększają komfort domu i pozwalają korzystać z przestrzeni przez cały rok - niezależnie od pogody.
|
||||
</p>
|
||||
<p class="hero-text text-white m-0">
|
||||
<strong>
|
||||
Izolowane systemy aluminiowe<br>
|
||||
Szyby Ug=1,1 lub 0,5<br>
|
||||
Zintegrowane osłony przeciwsłoneczne
|
||||
</strong>
|
||||
</p>
|
||||
|
||||
<p class="hero-text text-white m-0">
|
||||
Sprawdź orientacyjny budżet projektu<br>
|
||||
Porozmawiajmy o twoim ogrodzie zimowym.
|
||||
</p>
|
||||
</div>
|
||||
<div class="hero-form">
|
||||
<?php echo do_shortcode('[contact-form-7 id="21a1143" title="Formularz kontaktowy"]'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="two-cols bg-light">
|
||||
<div class="wrapper wrapper--inner imageLeft">
|
||||
<div class="col col-text">
|
||||
<h2 class="section-heading heading heading--md textRight">
|
||||
Nasze ogrody zimowe powstają z myślą o klientach, którzy szukają trwałego,<br>
|
||||
elastycznego i bezpiecznego rozwiązania na lata, a nie tymczasowej zabudowy.
|
||||
</h2>
|
||||
<div class="col-text-content">
|
||||
<p>Każda realizacja jest projektowana indywidualnie - z uwzględnieniem architektury budynku, warunków technicznych i sposobu użytkowania.</p>
|
||||
<p>Realizacje całorocznych ogrodów zimowych rozpoczynają się od około 100 000 zł netto.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-image">
|
||||
<div class="image-wrapper">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2026/01/IMG_2832-scaled.jpg" alt="" class="img-auto section-image">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="two-cols bg-light">
|
||||
<div class="wrapper wrapper--inner imageLeft">
|
||||
<div class="col col-image">
|
||||
<div class="image-wrapper">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2026/01/199-f27gxxl.jpg" alt="" class="img-auto section-image">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-text">
|
||||
<h2 class="section-heading heading heading--md textRight">Co wyróżnia nasze ogrody zimowe</h2>
|
||||
<div class="col-text-content">
|
||||
<ul style="list-style: none; padding: 0;">
|
||||
<li>- Komfort użytkowania przez cały rok.</li>
|
||||
<li>- Stabilna izolowana termicznie konstrukcja aluminiowa.</li>
|
||||
<li>- Wysokie parametry cieplne przeszkleń (Ug=1,1 - Ug=0,5)</li>
|
||||
<li>- Ochrona przed słońcem dzięki zintegrowanym markizom i żaluzjom.</li>
|
||||
<li>- Estetyka dopasowana do architektury budynku</li>
|
||||
</ul>
|
||||
<p>Nie pracujemy na gotowych schematach - każdy ogród zimowy powstaje jako spójny element domu, a nie dobudowany „dodatek”.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="collaboration" class="section-boxes-repeater">
|
||||
<div class="wrapper wrapper--inner">
|
||||
<h2 class="section-heading heading--md">Jak wygląda współpraca?</h2>
|
||||
<div class="collaboration-steps" style="max-width: 900px; margin: 0 auto; padding: 20px 0;">
|
||||
<?php foreach ($collaboration as $index => $item) : ?>
|
||||
<div class="collaboration-step" style="display: flex; align-items: flex-start; gap: 20px; margin-bottom: <?= ($index < count($collaboration) - 1) ? '40px' : '0' ?>; position: relative;">
|
||||
<!-- Numer kroku -->
|
||||
<div class="step-number" style="flex-shrink: 0; width: 60px; height: 60px; background: linear-gradient(135deg, #88b14b 0%, #6a8f3a 100%); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; box-shadow: 0 4px 8px rgba(136, 177, 75, 0.3); position: relative; z-index: 2;">
|
||||
<?= $index + 1 ?>
|
||||
</div>
|
||||
|
||||
<!-- Linia łącząca (dla wszystkich oprócz ostatniego) -->
|
||||
<?php if ($index < count($collaboration) - 1) : ?>
|
||||
<div class="step-connector" style="position: absolute; left: 30px; top: 60px; width: 2px; height: 40px; background: linear-gradient(to bottom, #88b14b, #e0e0e0); z-index: 1;"></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Treść kroku -->
|
||||
<div class="step-content" style="flex: 1; background-color: #f8f9fa; padding: 20px 25px; border-radius: 8px; border-left: 4px solid #88b14b; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: all 0.3s ease;">
|
||||
<h3 class="step-title" style="margin: 0; font-size: 18px; font-weight: 600; color: #333; line-height: 1.4;">
|
||||
<?= $item; ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<div class="col-text-content mt-4 text-center">
|
||||
<p>Prowadzimy klienta przez cały proces - spokojnie krok po kroku.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="two-cols bg-light">
|
||||
<div class="wrapper wrapper--inner imageLeft">
|
||||
<div class="col col-text">
|
||||
<h2 class="section-heading heading heading--md textRight">
|
||||
Doświadczenie w systemach aluminiowych
|
||||
</h2>
|
||||
<div class="col-text-content">
|
||||
<p>Od wielu lat pracujemy na systemach aluminiowych stosowanych zarówno w budownictwie jednorodzinnym, jak i obiektach komercyjnych.</p>
|
||||
<p>Realizujemy m.in. stolarkę okienną i drzwiową, żaluzje fasadowe, i rolety zewnętrzne, a ogrody zimowe są naturalnym rozszerzeniem tych rozwiązań w tym samym standardzie technicznym i wykonawczym.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-image">
|
||||
<div class="image-wrapper">
|
||||
<img src="/wp-content/uploads/2026/02/att_698c47679eb9b4.14191582.jpeg" alt="" class="img-auto section-image">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="two-cols bg-light">
|
||||
<div class="wrapper wrapper--inner imageLeft">
|
||||
<div class="col col-image">
|
||||
<div class="image-wrapper">
|
||||
<img src="/wp-content/uploads/2026/02/att_698c4767a04c46.41417006.jpg" alt="" class="img-auto section-image">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-text">
|
||||
<h2 class="section-heading heading heading--md textRight">Planowanie realizacji bez pośpiechu</h2>
|
||||
<div class="col-text-content">
|
||||
<p>
|
||||
Wielu naszych klientów decyduje się na zaplanowanie ogrodu zimowego z wyprzedzeniem.<br>
|
||||
Pozwala to spokojnie przygotować projekt i zarezerwować dogodny termin realizacji na wiosnę lub lato.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="two-cols bg-light">
|
||||
<div class="wrapper wrapper--inner imageLeft">
|
||||
<div class="col col-text">
|
||||
<h2 class="section-heading heading heading--md textRight">
|
||||
Porozmawiajmy o twoim projekcie
|
||||
</h2>
|
||||
<div class="col-text-content">
|
||||
<p>Jeśli rozważasz budowę całorocznego ogrodu zimowego i chcesz sprawdzić, czy to rozwiązanie ma sens w Twoim przypadku - zapraszamy do kontaktu.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-image">
|
||||
<div class="image-wrapper">
|
||||
<img src="/wp-content/uploads/2026/02/att_698c47679ad0a0.33546122.jpeg" alt="" class="img-auto section-image">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="garden-page-seo" class="two-cols-with-bg bg-dark" style="background-image: url('https://ostal.pl/wp-content/uploads/2021/05/hero-about.jpg');">
|
||||
<span class="bg-filter"></span>
|
||||
<div class="wrapper wrapper--inner">
|
||||
<h2>Sprawdź orientacyjny budżet projektu</h2>
|
||||
<a href="#hero_box" class="btn btn-primary">Umów rozmowę</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="two-cols bg-light">
|
||||
<div class="wrapper wrapper--inner imageLeft">
|
||||
<div class="col col-image">
|
||||
<div class="image-wrapper">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/DECORATION-PHOTO-1.jpg" alt="" class="img-auto section-image">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-text">
|
||||
<h2 class="section-heading heading heading--md textRight">Funkcje ogrodów zimowych</h2>
|
||||
<div class="col-text-content">
|
||||
<p>Nowoczesny ogród zimowy to nie tylko dodatkowe pomieszczenie wypoczynkowe – pokój zimowy, w którym możesz przyjmować gości lub relaksować się po ciężkim dniu w otoczeniu ulubionych roślin. Przez cały rok i w każdą pogodę. Konstrukcja jaką posiada nowoczesny ogród zimowy:<br>
|
||||
– stanowi efektowne dopełnienie bryły domu, nadając mu nowoczesnego charakteru,<br>
|
||||
– chroni przed hałasem, który dochodzi z zewnątrz,<br>
|
||||
– ze względu na szczelność utrzymuje ciepło i pomaga obniżyć bilans energetyczny domu.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="galeria" class="section-gallery ">
|
||||
<div class="wrapper wrapper--inner ">
|
||||
<h2 class="section-heading heading--md text-center">
|
||||
Nasze realizacje ogrodów zimowych </h2>
|
||||
<ul id="gallery-lightbox" class="gallery">
|
||||
<li class="gallery-image">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/202-4c7gxxl.jpg" alt="">
|
||||
</li>
|
||||
<li class="gallery-image">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/199-f27gxxl.jpg" alt="">
|
||||
</li>
|
||||
<li class="gallery-image">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/20170608_142315-1024x576.jpg" alt="">
|
||||
</li>
|
||||
<li class="gallery-image">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/IMG_0535-1-1024x768.jpg" alt="">
|
||||
</li>
|
||||
<li class="gallery-image">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/IMG_3754-1-1-1024x768.jpg" alt="">
|
||||
</li>
|
||||
<li class="gallery-image">
|
||||
<img src="https://ostal.pl/wp-content/uploads/2023/10/Frame-36-1-1024x728.jpg" alt="">
|
||||
</li>
|
||||
</ul>
|
||||
<div id="lightbox" class="lightbox"></div>
|
||||
</div>
|
||||
</section>
|
||||
<?php get_footer(); ?>
|
||||
<?php include( locate_template( 'sections.php' ) ); ?>
|
||||
<?php get_footer(); ?>
|
||||
|
||||
@@ -24,5 +24,14 @@
|
||||
<?php if (get_row_layout() == 'faq') : ?>
|
||||
<?php get_template_part('template-parts/sections/section-faq', 'faq'); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (get_row_layout() == 'hero_with_form') : ?>
|
||||
<?php get_template_part('template-parts/sections/section-hero-with-form', 'hero_with_form'); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (get_row_layout() == 'gallery') : ?>
|
||||
<?php get_template_part('template-parts/sections/section-gallery', 'gallery'); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (get_row_layout() == 'collaboration_steps') : ?>
|
||||
<?php get_template_part('template-parts/sections/section-collaboration-steps', 'collaboration_steps'); ?>
|
||||
<?php endif; ?>
|
||||
<?php endwhile; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
$steps = get_sub_field('steps');
|
||||
$total = is_array($steps) ? count($steps) : 0;
|
||||
?>
|
||||
|
||||
<section id="collaboration" class="section-boxes-repeater">
|
||||
<div class="wrapper wrapper--inner">
|
||||
<h2 class="section-heading heading--md"><?php the_sub_field('section_heading'); ?></h2>
|
||||
<?php if ($total > 0) : ?>
|
||||
<div class="collaboration-steps" style="max-width: 900px; margin: 0 auto; padding: 20px 0;">
|
||||
<?php $index = 0; ?>
|
||||
<?php while (have_rows('steps')) : the_row(); ?>
|
||||
<div class="collaboration-step" style="display: flex; align-items: flex-start; gap: 20px; margin-bottom: <?= ($index < $total - 1) ? '40px' : '0' ?>; position: relative;">
|
||||
<div class="step-number" style="flex-shrink: 0; width: 60px; height: 60px; background: linear-gradient(135deg, #88b14b 0%, #6a8f3a 100%); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; box-shadow: 0 4px 8px rgba(136, 177, 75, 0.3); position: relative; z-index: 2;">
|
||||
<?= $index + 1 ?>
|
||||
</div>
|
||||
|
||||
<?php if ($index < $total - 1) : ?>
|
||||
<div class="step-connector" style="position: absolute; left: 30px; top: 60px; width: 2px; height: 40px; background: linear-gradient(to bottom, #88b14b, #e0e0e0); z-index: 1;"></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="step-content" style="flex: 1; background-color: #f8f9fa; padding: 20px 25px; border-radius: 8px; border-left: 4px solid #88b14b; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: all 0.3s ease;">
|
||||
<h3 class="step-title" style="margin: 0; font-size: 18px; font-weight: 600; color: #333; line-height: 1.4;">
|
||||
<?php the_sub_field('step_title'); ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<?php $index++; ?>
|
||||
<?php endwhile; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if (get_sub_field('bottom_text')) : ?>
|
||||
<div class="col-text-content mt-4 text-center">
|
||||
<p><?php the_sub_field('bottom_text'); ?></p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
.collaboration-step:hover .step-content {
|
||||
transform: translateX(5px);
|
||||
box-shadow: 0 4px 12px rgba(136, 177, 75, 0.15);
|
||||
}
|
||||
|
||||
.collaboration-step:hover .step-number {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.collaboration-step {
|
||||
gap: 15px !important;
|
||||
}
|
||||
|
||||
.step-number {
|
||||
width: 50px !important;
|
||||
height: 50px !important;
|
||||
font-size: 20px !important;
|
||||
}
|
||||
|
||||
.step-connector {
|
||||
left: 25px !important;
|
||||
top: 50px !important;
|
||||
}
|
||||
|
||||
.step-content {
|
||||
padding: 15px 20px !important;
|
||||
}
|
||||
|
||||
.step-title {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -10,9 +10,9 @@
|
||||
<h1 class="hero-heading heading--xl text-white">
|
||||
<?php the_sub_field('heading'); ?>
|
||||
</h1>
|
||||
<p class="hero-text text-white">
|
||||
<div class="hero-text text-white">
|
||||
<?php the_sub_field('text'); ?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-form">
|
||||
<?php echo do_shortcode($form_shortcode); ?>
|
||||
|
||||
Reference in New Issue
Block a user