{"id":254776,"date":"2025-10-02T14:47:57","date_gmt":"2025-10-02T14:47:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/timeline-full-widget\/"},"modified":"2026-10-19T16:23:19","modified_gmt":"2026-10-19T16:23:19","slug":"timeline-full-widget","status":"publish","type":"plugin","link":"https:\/\/ve.wordpress.org\/plugins\/timeline-full-widget\/","author":17711949,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"4.0.0","stable_tag":"4.0.0","tested":"7.1.3","requires":"5.5","requires_php":"","requires_plugins":null,"header_name":"Timeline Full Widget","header_author":"Andry Zirka","header_description":"A versatile Timeline plugin for Elementor, and Gutenberg WordPress themes \u2014 add beautiful Timelines anywhere!","assets_banners_color":"d3967a","last_updated":"2026-10-19 16:23:19","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/donate\/?hosted_button_id=TK9QQ5DE2K378","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/timeline-full-widget","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":20,"downloads":1304,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"blackstar1991","date":"2026-08-22 15:25:08","revision":3660804},"3.1.1":{"tag":"3.1.1","author":"blackstar1991","date":"2026-09-17 08:21:13","revision":3699786},"4.0.0":{"tag":"4.0.0","author":"blackstar1991","date":"2026-10-19 16:23:19","revision":3755175}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3371850,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3518747,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3518747,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3755238,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Timeline Full Widget \\u2014 Gutenberg demo\",\"description\":\"Two editable Gutenberg Timeline templates, with ready-to-download transfer JSON samples. No Elementor installation.\",\"author\":\"Timeline Full Widget\",\"categories\":[\"demo\",\"gutenberg\",\"timeline\"]},\"login\":true,\"landingPage\":\"\\\/\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"timeline-full-widget\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\n\\\/\\\/ Small, self-contained demo: no Elementor, no sample ZIP downloads.\\n\\\/\\\/ The WordPress.org release is installed in the preceding Blueprint step.\\n$templates = array(\\n    array(\\n        'slug' => 'timeline-project-roadmap',\\n        'post_title' => 'Project Roadmap \\u2014 Timeline Template',\\n        'header' => 'Project Roadmap',\\n        'description' => 'A ready-made project timeline. Select the Timeline block in Gutenberg, change its settings, then export your own copy when the import\\\/export feature is available.',\\n        'timeline' => <<<'TFW_MARKUP'\\n<!-- wp:za\\\/timeline-full-widget {\\\"showMedia\\\":false,\\\"lineColor\\\":\\\"#CBD5E1\\\",\\\"lineWidth\\\":4,\\\"markerColor\\\":\\\"#0F766E\\\",\\\"animationLineColor\\\":\\\"#0D9488\\\",\\\"animationMarkerColor\\\":\\\"#0D9488\\\"} -->\\n<div class=\\\"wp-block-za-timeline-full-widget\\\"><div class=\\\"timeline-wrapper\\\" style=\\\"--timeline-line-color:#CBD5E1;--timeline-line-width:4px;--timeline-marker-color:#0F766E;--timeline-line-active-color:#0D9488;--timeline-marker-active-color:#0D9488\\\"><div class=\\\"timeline-line-animation\\\"><\\\/div><ul class=\\\"timeline timeline-animation-marker\\\"><!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-left\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-left\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>01 \\u00b7 PLAN<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">Define your vision<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>Set goals, outline the scope and agree on the next steps.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item -->\\n\\n<!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-inverted\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-inverted\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>02 \\u00b7 BUILD<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">Make it real<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>Create the first working version and review the results.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item -->\\n\\n<!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-left\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-left\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>03 \\u00b7 LAUNCH<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">Share your work<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>Publish, collect feedback and keep improving.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item --><\\\/ul><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-full-widget -->\\nTFW_MARKUP,\\n    ),\\n    array(\\n        'slug' => 'timeline-brand-story',\\n        'post_title' => 'Brand Story \\u2014 Timeline Template',\\n        'header' => 'Brand Story',\\n        'description' => 'An alternate timeline layout with four milestones and warmer accent colors. Open it in Gutenberg to explore item and marker settings.',\\n        'timeline' => <<<'TFW_MARKUP'\\n<!-- wp:za\\\/timeline-full-widget {\\\"showMedia\\\":false,\\\"lineColor\\\":\\\"#D6D3D1\\\",\\\"lineWidth\\\":4,\\\"markerColor\\\":\\\"#9A3412\\\",\\\"animationLineColor\\\":\\\"#EA580C\\\",\\\"animationMarkerColor\\\":\\\"#EA580C\\\"} -->\\n<div class=\\\"wp-block-za-timeline-full-widget\\\"><div class=\\\"timeline-wrapper\\\" style=\\\"--timeline-line-color:#D6D3D1;--timeline-line-width:4px;--timeline-marker-color:#9A3412;--timeline-line-active-color:#EA580C;--timeline-marker-active-color:#EA580C\\\"><div class=\\\"timeline-line-animation\\\"><\\\/div><ul class=\\\"timeline timeline-animation-marker\\\"><!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-left\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-left\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>2021<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">A small beginning<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>An idea becomes a real project with its first milestone.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item -->\\n\\n<!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-inverted\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-inverted\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>2023<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">Growing together<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>New collaborators bring different skills and perspectives.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item -->\\n\\n<!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-left\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-left\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>2025<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">A new chapter<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>The project reaches new audiences and new opportunities.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item -->\\n\\n<!-- wp:za\\\/timeline-item {\\\"showMedia\\\":false,\\\"position\\\":\\\"timeline-inverted\\\"} -->\\n<li class=\\\"wp-block-za-timeline-item timeline-item timeline-inverted\\\"><div class=\\\"tl-trigger\\\"><\\\/div><div class=\\\"tl-mark\\\"><\\\/div><!-- wp:za\\\/timeline-item-side -->\\n<div class=\\\"wp-block-za-timeline-item-side timeline-side t-text-align-left\\\"><!-- wp:paragraph -->\\n<p>2026<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-side -->\\n\\n<!-- wp:za\\\/timeline-item-content {\\\"showMedia\\\":false} -->\\n<div class=\\\"wp-block-za-timeline-item-content timeline-panel\\\"><div class=\\\"tl-content\\\"><div class=\\\"tl-desc\\\"><div class=\\\"tl-desc-short\\\"><!-- wp:heading {\\\"level\\\":3,\\\"className\\\":\\\"tl-title\\\"} -->\\n<h3 class=\\\"wp-block-heading tl-title\\\">Looking ahead<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>Keep the story moving with your next meaningful milestone.<\\\/p>\\n<!-- \\\/wp:paragraph --><\\\/div><\\\/div><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-item-content --><\\\/li>\\n<!-- \\\/wp:za\\\/timeline-item --><\\\/ul><\\\/div><\\\/div>\\n<!-- \\\/wp:za\\\/timeline-full-widget -->\\nTFW_MARKUP,\\n    ),\\n);\\n\\n$upload = wp_upload_dir();\\nif ( ! empty( $upload['error'] ) ) {\\n    throw new RuntimeException( 'Cannot create the demo download directory.' );\\n}\\n\\n\\\/\\\/ These ready-made JSON templates download directly, including on the older\\n\\\/\\\/ public release. Native import\\\/export controls require the newer plugin release.\\n$sample_files = array(\\n    'timeline-project-roadmap.tfw.json' => <<<'TFW_SAMPLE'\\n{\\n  \\\"format\\\": \\\"timeline-full-widget\\\",\\n  \\\"schemaVersion\\\": 1,\\n  \\\"origin\\\": \\\"gutenberg\\\",\\n  \\\"elementType\\\": \\\"za\\\/timeline-full-widget\\\",\\n  \\\"pluginVersion\\\": \\\"4.0.0\\\",\\n  \\\"mediaPolicy\\\": \\\"placeholder-only\\\",\\n  \\\"exportedAt\\\": \\\"2026-10-19T15:00:00.000Z\\\",\\n  \\\"data\\\": {\\n    \\\"name\\\": \\\"za\\\/timeline-full-widget\\\",\\n    \\\"attributes\\\": {\\n      \\\"lineColor\\\": \\\"#CBD5E1\\\",\\n      \\\"lineWidth\\\": 4,\\n      \\\"markerColor\\\": \\\"#0F766E\\\",\\n      \\\"markerSize\\\": 32,\\n      \\\"animationLineColor\\\": \\\"#0D9488\\\",\\n      \\\"animationMarkerColor\\\": \\\"#0D9488\\\",\\n      \\\"animationTimeline\\\": true,\\n      \\\"className\\\": \\\"tfw-playground-timeline-project-roadmap\\\"\\n    },\\n    \\\"innerBlocks\\\": [\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-left\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"01 \\u00b7 PLAN\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"Define your vision\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"Set goals, outline the scope and agree on the next steps.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-inverted\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"02 \\u00b7 BUILD\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"Make it real\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"Create the first working version and review the results.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-left\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"03 \\u00b7 LAUNCH\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"Share your work\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"Publish, collect feedback and keep improving.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      }\\n    ]\\n  }\\n}\\nTFW_SAMPLE,\\n    'timeline-brand-story.tfw.json' => <<<'TFW_SAMPLE'\\n{\\n  \\\"format\\\": \\\"timeline-full-widget\\\",\\n  \\\"schemaVersion\\\": 1,\\n  \\\"origin\\\": \\\"gutenberg\\\",\\n  \\\"elementType\\\": \\\"za\\\/timeline-full-widget\\\",\\n  \\\"pluginVersion\\\": \\\"4.0.0\\\",\\n  \\\"mediaPolicy\\\": \\\"placeholder-only\\\",\\n  \\\"exportedAt\\\": \\\"2026-10-19T15:00:00.000Z\\\",\\n  \\\"data\\\": {\\n    \\\"name\\\": \\\"za\\\/timeline-full-widget\\\",\\n    \\\"attributes\\\": {\\n      \\\"lineColor\\\": \\\"#D6D3D1\\\",\\n      \\\"lineWidth\\\": 4,\\n      \\\"markerColor\\\": \\\"#9A3412\\\",\\n      \\\"markerSize\\\": 32,\\n      \\\"animationLineColor\\\": \\\"#EA580C\\\",\\n      \\\"animationMarkerColor\\\": \\\"#EA580C\\\",\\n      \\\"animationTimeline\\\": true,\\n      \\\"className\\\": \\\"tfw-playground-timeline-brand-story\\\"\\n    },\\n    \\\"innerBlocks\\\": [\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-left\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"2021\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"A small beginning\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"An idea becomes a real project with its first milestone.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-inverted\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"2023\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"Growing together\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"New collaborators bring different skills and perspectives.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-left\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"2025\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"A new chapter\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"The project reaches new audiences and new opportunities.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      },\\n      {\\n        \\\"name\\\": \\\"za\\\/timeline-item\\\",\\n        \\\"attributes\\\": {\\n          \\\"position\\\": \\\"timeline-inverted\\\",\\n          \\\"showMedia\\\": false\\n        },\\n        \\\"innerBlocks\\\": [\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-side\\\",\\n            \\\"attributes\\\": {},\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"2026\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          },\\n          {\\n            \\\"name\\\": \\\"za\\\/timeline-item-content\\\",\\n            \\\"attributes\\\": {\\n              \\\"showMedia\\\": false\\n            },\\n            \\\"innerBlocks\\\": [\\n              {\\n                \\\"name\\\": \\\"core\\\/heading\\\",\\n                \\\"attributes\\\": {\\n                  \\\"level\\\": 3,\\n                  \\\"className\\\": \\\"tl-title\\\",\\n                  \\\"content\\\": \\\"Looking ahead\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              },\\n              {\\n                \\\"name\\\": \\\"core\\\/paragraph\\\",\\n                \\\"attributes\\\": {\\n                  \\\"content\\\": \\\"Keep the story moving with your next meaningful milestone.\\\"\\n                },\\n                \\\"innerBlocks\\\": []\\n              }\\n            ]\\n          }\\n        ]\\n      }\\n    ]\\n  }\\n}\\nTFW_SAMPLE,\\n);\\nforeach ( $sample_files as $file_name => $json ) {\\n    $full_path = trailingslashit( $upload['basedir'] ) . $file_name;\\n    if ( false === file_put_contents( $full_path, $json . \\\"\\\\n\\\" ) ) {\\n        throw new RuntimeException( 'Cannot write demo template: ' . $file_name );\\n    }\\n}\\n\\n$ids = array();\\nforeach ( $templates as $template ) {\\n    $intro = '<!-- wp:heading {\\\"level\\\":2} --><h2 class=\\\"wp-block-heading\\\">'\\n        . esc_html( $template['header'] ) . '<\\\/h2><!-- \\\/wp:heading -->'\\n        . \\\"\\\\n\\\\n\\\" . '<!-- wp:paragraph --><p>' . esc_html( $template['description'] )\\n        . '<\\\/p><!-- \\\/wp:paragraph -->' . \\\"\\\\n\\\\n\\\";\\n    $post_id = wp_insert_post(\\n        array(\\n            'post_type' => 'page',\\n            'post_title' => $template['post_title'],\\n            'post_name' => $template['slug'],\\n            'post_status' => 'publish',\\n            'post_author' => 1,\\n            'post_content' => $intro . $template['timeline'],\\n        ),\\n        true\\n    );\\n    if ( is_wp_error( $post_id ) ) {\\n        throw new RuntimeException( 'Could not create the demo page: ' . $post_id->get_error_message() );\\n    }\\n    $ids[ $template['slug'] ] = (int) $post_id;\\n}\\n\\n\\\/\\\/ Add actual editor links using the IDs WordPress assigned; no hardcoded post=2.\\nforeach ( $templates as $template ) {\\n    $slug = $template['slug'];\\n    $id = $ids[ $slug ];\\n    $edit_url = esc_url( admin_url( 'post.php?post=' . $id . '&action=edit' ) );\\n    $download_url = esc_url( trailingslashit( $upload['baseurl'] ) . $slug . '.tfw.json' );\\n    $other_slug = 'timeline-project-roadmap' === $slug ? 'timeline-brand-story' : 'timeline-project-roadmap';\\n    $other_url = esc_url( get_permalink( $ids[ $other_slug ] ) );\\n    $actions = '<!-- wp:paragraph --><p><strong>Try this template:<\\\/strong> '\\n        . '<a href=\\\"' . $edit_url . '\\\">Edit in Gutenberg<\\\/a> \\u00b7 '\\n        . '<a href=\\\"' . $download_url . '\\\" download>Download .tfw.json template<\\\/a> \\u00b7 '\\n        . '<a href=\\\"' . $other_url . '\\\">View the other template<\\\/a>'\\n        . '<\\\/p><!-- \\\/wp:paragraph -->';\\n    $version_note = '<!-- wp:paragraph --><p><em>In plugin 4.0 and later, use the Timeline block\\u2019s Import \\\/ Export settings to export your edited design. The downloadable JSON files are intended for that newer format.<\\\/em><\\\/p><!-- \\\/wp:paragraph -->';\\n    $page = get_post( $id );\\n    $result = wp_update_post(\\n        array( 'ID' => $id, 'post_content' => $page->post_content . \\\"\\\\n\\\\n\\\" . $actions . \\\"\\\\n\\\\n\\\" . $version_note ),\\n        true\\n    );\\n    if ( is_wp_error( $result ) ) {\\n        throw new RuntimeException( 'Could not finish the demo page: ' . $result->get_error_message() );\\n    }\\n}\\n\\nupdate_option( 'blogname', 'Timeline Full Widget \\u2014 Live Demo' );\\nupdate_option( 'show_on_front', 'page' );\\nupdate_option( 'page_on_front', $ids['timeline-project-roadmap'] );\\n\"}]}"}},"all_blocks":{"za\/timeline-full-widget":{"apiVersion":3,"name":"za\/timeline-full-widget","title":"Timeline Full Widget","category":"widgets","icon":"schedule","description":"A versatile timeline block for adding responsive timelines in Gutenberg.","keywords":["timeline","events","history"],"textdomain":"timeline-full-widget","editorScript":"file:.\/build\/index.js","style":"file:.\/build\/style-index.css","editorStyle":"file:.\/build\/index.css","attributes":{"showMedia":{"type":"boolean","default":true},"direction":{"type":"boolean","default":false},"onTheOneSide":{"type":"boolean","default":false},"position":{"type":"string","default":"timeline-left"},"lineColor":{"type":"string","default":"#F6F6F8"},"lineWidth":{"type":"number","default":4},"markerColor":{"type":"string","default":"#F6F6F8"},"markerSize":{"type":"number","default":30},"showOtherSide":{"type":"boolean","default":true},"animationTimeline":{"type":"boolean","default":true},"animationLineColor":{"type":"string","default":"#F37321"},"showMarker":{"type":"boolean","default":true},"markerUnique":{"type":"boolean","default":false},"showStepNumbers":{"type":"boolean","default":false},"animationMarker":{"type":"boolean","default":true},"animationMarkerColor":{"type":"string","default":"#F37321"},"animationOtherSideSticky":{"type":"boolean","default":false},"timelineBackgroundColor":{"type":"string","default":""},"timelineBackgroundImage":{"type":"string","default":""},"timelineBackgroundSize":{"type":"string","default":""},"timelineBackgroundPosition":{"type":"string","default":""}},"supports":{"html":false,"align":["wide","full"],"anchor":true,"spacing":{"margin":true}},"example":{"attributes":{},"innerBlocks":[]}}},"tagged_versions":["3.0.0","3.1.1","4.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3518747,"resolution":"1","location":"assets","locale":"","width":1616,"height":932},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3371850,"resolution":"2","location":"assets","locale":"","width":1646,"height":924},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3371850,"resolution":"3","location":"assets","locale":"","width":1471,"height":931},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3518747,"resolution":"4","location":"assets","locale":"","width":1069,"height":898}},"screenshots":{"1":"Timeline widget in Elementor.","2":"Timeline block in Gutenberg.","3":"Timeline block in Gutenberg.","4":"Horizontal and vertical content layouts"}},"plugin_section":[],"plugin_tags":[4121,1332,76538,152129,5575],"plugin_category":[46],"plugin_contributors":[248675],"plugin_business_model":[],"class_list":["post-254776","plugin","type-plugin","status-publish","hentry","plugin_tags-blocks","plugin_tags-editor","plugin_tags-elementor","plugin_tags-gutenberg-blocks","plugin_tags-timeline","plugin_category-editor-and-writing","plugin_contributors-blackstar1991","plugin_committers-blackstar1991"],"banners":{"banner":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/banner-772x250.jpg?rev=3518747","banner_2x":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/banner-1544x500.jpg?rev=3518747","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/icon-128x128.png?rev=3371850","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/screenshot-1.jpg?rev=3518747","caption":"Timeline widget in Elementor."},{"src":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/screenshot-2.jpg?rev=3371850","caption":"Timeline block in Gutenberg."},{"src":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/screenshot-3.jpg?rev=3371850","caption":"Timeline block in Gutenberg."},{"src":"https:\/\/ps.w.org\/timeline-full-widget\/assets\/screenshot-4.jpg?rev=3518747","caption":"Horizontal and vertical content layouts"}],"raw_content":"<!--section=description-->\n<p>Timeline Full Widget is a lightweight and flexible <strong>WordPress timeline plugin<\/strong> that allows you to create timelines using both <strong>Elementor<\/strong> and <strong>Gutenberg<\/strong>.<\/p>\n\n<p>The plugin provides a consistent editing experience across builders and gives you full control over layout, styling, and content without unnecessary complexity.<\/p>\n\n<p>Key advantages:<\/p>\n\n<ul>\n<li>Works with <strong>Elementor<\/strong> and <strong>Gutenberg<\/strong><\/li>\n<li>Clean and simple editing experience<\/li>\n<li>Customizable styles (colors, typography, spacing)<\/li>\n<li>Support for images and video, with optional per-item media width in px or %<\/li>\n<li>Responsive layout<\/li>\n<li>Reusable styles between timeline items<\/li>\n<li>Separate per-item background color and card background color\/image, preserved across compatible Elementor and Gutenberg imports<\/li>\n<li>Independent horizontal layout and media order switches for every Elementor and Gutenberg Timeline Item<\/li>\n<li>Block-based side and main content areas for Gutenberg timeline items<\/li>\n<li><strong>Portable Timeline import\/export<\/strong> for both Gutenberg and Elementor: move and replace timelines across sites, preserving native editor properties, advanced layout, custom CSS classes, responsive design, typography, and per-item styles<\/li>\n<li><strong>Privacy-minded media placeholders<\/strong> for imported images, custom markers, and video posters, with image size and video-type settings retained<\/li>\n<li><strong>Two-way Elementor \u2194 Gutenberg conversion<\/strong>: import compatible Timeline settings, item text, links, layout, media placeholders and marker styles between editors (editor-specific controls remain editor-specific)<\/li>\n<li><strong>Selective imports<\/strong>: choose whether to transfer headings\/text\/inner content, margins, padding, gaps, IDs, CSS classes, custom styles, links, animation, responsive settings, typography and backgrounds<\/li>\n<\/ul>\n\n<p>You can use it for:<\/p>\n\n<ul>\n<li>Project timelines<\/li>\n<li>Roadmaps<\/li>\n<li>Company history<\/li>\n<li>Event timelines<\/li>\n<li>Milestones<\/li>\n<\/ul>\n\n<h3>Contribute<\/h3>\n\n<p>Would you like to help translate Timeline Full Widget into your language?\nYou can contribute translations here:\nhttps:\/\/translate.wordpress.org\/projects\/wp-plugins\/timeline-full-widget\/<\/p>\n\n<h3>Latest editor improvements<\/h3>\n\n<ul>\n<li>Elementor: an optional numeric Width of media setting with separate px\/% units. Full-width images use responsive full-resolution sources, regardless of thumbnail preset.<\/li>\n<li>Gutenberg: Timeline background color and image settings, including image size and position.<\/li>\n<li>Cross-editor import\/export carries background settings and optional media width, without copying original image URLs from donor sites.<\/li>\n<li>Custom marker pictures are confined to the selected Timeline marker size.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/timeline-full-widget<\/code> directory, or install it through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Use the Elementor editor or Gutenberg editor.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20the%20latest%20elementor%3F\"><h3>Does it work with the latest Elementor?<\/h3><\/dt>\n<dd><p>Yes, tested with Elementor 4.0.0 and WordPress 7.1.<\/p><\/dd>\n<dt id=\"does%20it%20support%20gutenberg%20%28block%20editor%29%3F\"><h3>Does it support Gutenberg (block editor)?<\/h3><\/dt>\n<dd><p>Yes, the plugin includes a native Gutenberg block. Type \u201c\/timeline\u201d<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20marker%20on%20the%20timeline%20items%3F\"><h3>Can I change the marker on the timeline items?<\/h3><\/dt>\n<dd><p>Yes, you can. Use the \"Edit marker\" button. In \"Marker Settings\" you need choose \"Unique Marker\" option, after that you would be able to set a personal marker like a image.<\/p><\/dd>\n<dt id=\"can%20i%20add%20blocks%20inside%20a%20timeline%20item%3F\"><h3>Can I add blocks inside a timeline item?<\/h3><\/dt>\n<dd><p>Yes. In Gutenberg, each timeline item now has separate block-based areas for side content and main content. You can add headings, paragraphs, lists, galleries, and other compatible blocks to each area.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20timeline%20item%20styles%3F\"><h3>Can I customize timeline item styles?<\/h3><\/dt>\n<dd><p>Yes. Set separate colors for the full Timeline Item and for its card, plus a card background image. Both editors support these item-specific controls; media is replaced with a local placeholder when imported to another website.<\/p><\/dd>\n<dt id=\"how%20do%20shared%20item%20styles%20work%3F\"><h3>How do shared item styles work?<\/h3><\/dt>\n<dd><p>In Elementor, timeline items use shared typography styles by default. Turn off \"Use shared item styles\" inside a repeater item only when that item needs unique text styling. Item and card backgrounds are always editable inside each repeater item, independent of that switch. Each Elementor Timeline Item has separate \"Use horizontal content layout\" and \"Reverse media and content order\" switches under Item layout, both off by default, regardless of shared styles. In Gutenberg, newly inserted Timeline Items copy style\/layout settings from the item directly above them, and the existing toolbar button can still apply the current item styles to other items.<\/p><\/dd>\n<dt id=\"can%20i%20transfer%20a%20timeline%20to%20another%20website%3F\"><h3>Can I transfer a Timeline to another website?<\/h3><\/dt>\n<dd><p>Yes. In Elementor open the widget's <strong>Import \/ Export Timeline<\/strong> section under Content. In Gutenberg select the Timeline block and open <strong>Import \/ Export Timeline<\/strong> in the block sidebar. Export a <code>.tfw.json<\/code> file, then add a new Timeline widget or block on the destination site and import it. For both editors, importing a validated file opens a popup to choose which properties to transfer (IDs, margins, padding, classes, custom CSS, responsive styles, text and more) before replacing the selected Timeline. The Gutenberg sidebar contains only import\/export actions and notifications, not the confirmation checkboxes. Media is replaced by local placeholders rather than copied from the donor site.<\/p><\/dd>\n<dt id=\"how%20are%20gutenberg%20palette%20colors%20transferred%20to%20elementor%3F\"><h3>How are Gutenberg palette colors transferred to Elementor?<\/h3><\/dt>\n<dd><p>Standard WordPress palette slugs are resolved to their actual CSS colors, including per-item backgrounds and supported heading\/paragraph colors. New Gutenberg exports also capture used theme palette values so custom colors can travel between websites. Other site-specific theme styles and unsupported nested block styling may still need adjustment.<\/p><\/dd>\n<dt id=\"can%20i%20import%20a%20gutenberg%20timeline%20into%20elementor%20or%20vice%20versa%3F\"><h3>Can I import a Gutenberg Timeline into Elementor or vice versa?<\/h3><\/dt>\n<dd><p>Both directions, <strong>Gutenberg \u2192 Elementor<\/strong> and <strong>Elementor \u2192 Gutenberg<\/strong>, can import supported core Timeline layout, item headings\/text, hyperlinks, common colors, marker settings and media placeholders. Conversions are best-effort: Elementor Advanced CSS, custom font families, complex Gutenberg nested blocks, and theme-dependent tokens have no guaranteed direct equivalent. For highest fidelity, import into the originating editor. Elementor repeater layout and media-order switches work independently for every item, even while shared item styles remain enabled.<\/p><\/dd>\n<dt id=\"why%20are%20some%20texts%20missing%20from%20an%20older%20gutenberg%20export%3F\"><h3>Why are some texts missing from an older Gutenberg export?<\/h3><\/dt>\n<dd><p>Some files created in version 4.0.1 serialized RichText values as empty JSON objects. The content is absent from those files and cannot be reconstructed. Version 4.0.6 preserves rich text in new exports and warns when an older file has missing text; turn off content import to preserve the destination's existing text.<\/p><\/dd>\n<dt id=\"will%20the%20imported%20timeline%20look%20exactly%20the%20same%3F\"><h3>Will the imported Timeline look exactly the same?<\/h3><\/dt>\n<dd><p>Native same-editor settings (including Advanced and repeater-item styles) are preserved. Replace placeholder images\/videos with local media. Exact appearance also depends on destination theme CSS, locally installed fonts, responsive breakpoints and Elementor global design tokens. Missing donor-only global styles, theme styles, or plugins may require adjustment.<\/p><\/dd>\n<dt id=\"how%20do%20wide%20width%20and%20full%20width%20work%20in%20gutenberg%3F\"><h3>How do Wide width and Full width work in Gutenberg?<\/h3><\/dt>\n<dd><p>The Timeline block follows WordPress alignments. Wide width uses the active theme's wide block layout, while Full width can extend to the page layout edges when the theme permits. Astra's Container Width is the maximum site container width, not necessarily the width of every aligned block. The page template, layout, parent Group\/Stack, and theme styles can also affect the result.<\/p><\/dd>\n<dt id=\"is%20it%20responsive%3F\"><h3>Is it responsive?<\/h3><\/dt>\n<dd><p>Yes, the timeline layout adapts to different screen sizes.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>Yes, it works with most WordPress themes, including block and classic themes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.0.0<\/h4>\n\n<ul>\n<li>Added native, selective cross-site import\/export for both Elementor widgets and Gutenberg Timeline blocks.<\/li>\n<li>Added image, marker, background and video-poster placeholders without transferring original media attachments.<\/li>\n<li>Added a shared portable file contract, editor-only adapters and security checks for untrusted files.<\/li>\n<\/ul>\n\n<h4>3.3.6<\/h4>\n\n<ul>\n<li>Corrected the Gutenberg block translation domain to timeline-full-widget.<\/li>\n<li>Registered shared Elementor styles on init and loaded them only where needed on the frontend.<\/li>\n<li>Removed redundant Elementor editor script registration and limited Classic Editor assets to applicable editor screens.<\/li>\n<li>Fixed Elementor title output when the selected HTML tag is a link but no URL was provided.<\/li>\n<li>Added developer-only PHP\/JavaScript regression and PSR-4-style checks.<\/li>\n<\/ul>\n\n<h4>3.3.5<\/h4>\n\n<ul>\n<li>Fixed Elementor Timeline item styling controls by replacing the obsolete Side content alignment override with Title alignment for unique items.<\/li>\n<li>Moved shared Title alignment next to shared Title color and limited shared title styles to non-unique items.<\/li>\n<li>Removed unused Elementor side-content alignment override code.<\/li>\n<\/ul>\n\n<h4>3.3.4<\/h4>\n\n<ul>\n<li>Fix Elementor Timeline Item side content alignment so shared and per-item alignment changes update reliably in the editor and frontend.<\/li>\n<\/ul>\n\n<h4>3.3.3<\/h4>\n\n<ul>\n<li>Fixed Elementor live preview for timeline line width, marker size, line colors, and marker colors. Changes now apply immediately in the editor without switching to another component.<\/li>\n<li>Removed duplicate inline CSS custom properties from the Elementor timeline wrapper so Elementor selector-generated CSS controls the live preview and frontend consistently.<\/li>\n<\/ul>\n\n<h4>3.3.2<\/h4>\n\n<ul>\n<li>Fixed Elementor Timeline side content alignment for both shared item styles and unique per-item overrides.<\/li>\n<li>Added shared text alignment utility styles to the Elementor\/Core stylesheet so preview and frontend output match.<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>Updated Gutenberg static InnerBlocks templates to the WordPress 7.2 \/ Gutenberg 23.8 block-type template API.<\/li>\n<li>Made Timeline Item side and content scaffolding atomic for improved real-time collaboration behavior.<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Fixed problem with blueprint.json.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Reworked the Gutenberg Timeline Item structure to support block-based side content and main content areas.<\/li>\n<li>Added support for adding any compatible WordPress blocks inside both the side content area and the main description area of each timeline item.<\/li>\n<li>Kept nested side and main content areas editable by default, including regular WordPress block insertion.<\/li>\n<li>Replaced the custom timeline item title field with a standard editable Heading block in the main content area.<\/li>\n<li>Preserved style copying between timeline items, including compatible nested block styles.<\/li>\n<li>Added migration support for existing timeline item content, including moving legacy titles into Heading blocks and preserving customized legacy title styles only when they differ from defaults.<\/li>\n<li>Added a 3.x legacy title compatibility layer with a code note to remove it in version 4.0.0 or later after users have migrated saved content.<\/li>\n<li>Added a default empty Paragraph block after the default Heading block for newly created timeline items.<\/li>\n<li>Removed obsolete Gutenberg title typography attributes from the current block schema.<\/li>\n<li>Improved editor block appender spacing for nested timeline content areas.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Refactored the PHP plugin structure into PSR-4-style classes under <code>includes\/<\/code> while keeping Gutenberg source files in <code>src\/<\/code>.<\/li>\n<li>Kept backward-compatible constants for existing custom integrations.<\/li>\n<li>Improved separation between Gutenberg, Elementor, Classic Editor, assets, and admin metadata loading.<\/li>\n<li>Added the ability to change marker size<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Fixed an issue with module script optimization.<\/li>\n<li>Improved Gutenberg block frontend script loading to ensure animations initialize correctly.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Added showing step numbers of items.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Bug fixes.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added WordPress Playground support.<\/li>\n<li>Added support for horizontal and vertical content layouts.<\/li>\n<li>Added an option to reverse media and content order.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Bug fixes.<\/li>\n<li>Improved Title Typography controls.<\/li>\n<li>Added link wrapper support for media elements.<\/li>\n<li>Added timeline width style controls.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added a button to copy styles from the current item.<\/li>\n<li>Added responsive media queries for the Gutenberg block timeline.<\/li>\n<li>Added responsive media queries for the Elementor widget timeline.<\/li>\n<li>Added controls for media width inside timeline items.<\/li>\n<li>Fixed Content Typography style issues in Elementor.<\/li>\n<li>Separated line and marker color styles.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Corrected timeline styles in the Gutenberg block.<\/li>\n<li>Bug fixes.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Bug fixes.<\/li>\n<li>Added font-family selection for Title elements in the Gutenberg block.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added sticky text settings for the opposite side of the timeline.<\/li>\n<li>Corrected marker animation behavior.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Release Date - 25th September 2025.<\/li>\n<li>Initial Release.<\/li>\n<\/ul>","raw_excerpt":"Free timeline plugin for WordPress, Elementor, and Gutenberg. Create responsive timelines, roadmaps, and milestones without code.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/254776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=254776"}],"author":[{"embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/blackstar1991"}],"wp:attachment":[{"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=254776"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=254776"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=254776"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=254776"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=254776"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ve.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=254776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}