diff --git a/examples/next/custom-sitemap-apollo/.gitignore b/examples/next/custom-sitemap-apollo/.gitignore new file mode 100644 index 0000000..26a84eb --- /dev/null +++ b/examples/next/custom-sitemap-apollo/.gitignore @@ -0,0 +1,3 @@ +example-app/package-lock.json +package-lock.json +wp-env/__MACOSX \ No newline at end of file diff --git a/examples/next/custom-sitemap-apollo/.wp-env.json b/examples/next/custom-sitemap-apollo/.wp-env.json new file mode 100644 index 0000000..c9fa5e2 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/.wp-env.json @@ -0,0 +1,25 @@ +{ + "phpVersion": "7.4", + "plugins": [ + "https://github.com/wp-graphql/wp-graphql/releases/latest/download/wp-graphql.zip", + "https://github.com/AdvancedCustomFields/acf/releases/download/6.3.12/advanced-custom-fields-6.3.12.zip", + "https://github.com/wp-graphql/wpgraphql-acf/releases/latest/download/wpgraphql-acf.zip", + "https://github.com/wpengine/hwptoolkit/raw/refs/heads/main/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap.zip" + ], + "config": { + "WP_DEBUG": true, + "SCRIPT_DEBUG": false, + "GRAPHQL_DEBUG": true, + "WP_DEBUG_LOG": true, + "WP_DEBUG_DISPLAY": false, + "SAVEQUERIES": false + }, + "mappings": { + "db": "./wp-env/db", + "wp-content/uploads": "./wp-env/uploads", + ".htaccess": "./wp-env/setup/.htaccess" + }, + "lifecycleScripts": { + "afterStart": "wp-env run cli -- wp plugin update wpgraphql-acf && wp-env run cli -- wp rewrite structure '/%postname%/' && wp-env run cli -- wp rewrite flush" + } +} diff --git a/examples/next/custom-sitemap-apollo/README.md b/examples/next/custom-sitemap-apollo/README.md new file mode 100644 index 0000000..444834d --- /dev/null +++ b/examples/next/custom-sitemap-apollo/README.md @@ -0,0 +1,130 @@ +# Example: Create a custom WordPress sitemap with WPGraphQL and Apollo Client + +## Overview + +This example demonstrates how to generate a custom sitemap in a headless WordPress application using the Next.js framework. The example app fetches data from WordPress using Apollo Client and WPGraphQL. Since WPGraphQL doesn't support sitemaps natively, we are extending it with a custom plugin, which is included in this example as well. This plugin exposes new fields to fetch the sitemap index, with data identical to what's rendered on the native WordPress sitemap. Another field exposed by this plugin allows you to request sitemap subpages by specifying the types and pages. The plugin also adds featured image data, enabling you to create [Image Sitemaps](https://developers.google.com/search/docs/crawling-indexing/sitemaps/image-sitemaps). + +The example includes a wp-env setup, which will allow you to build and start this example quickly. With this wp-env setup, you don't need to have a separate WordPress instance or demo data to inspect the example. + +## Features + +1. Fetching sitemap data with the API allows maximum customizability +2. Custom plugin to extend WPGraphQL with the sitemap feature +3. Plugin uses native WordPress sitemap hooks and methods for security and performance +4. An identical WordPress sitemap structure in the headless setup +5. [Image Sitemaps](https://developers.google.com/search/docs/crawling-indexing/sitemaps/image-sitemaps) implementation +6. Configured WordPress instance with demo data and required plugins, using wp-env +7. Sitemaps for custom post and taxonomy types +8. Permanent redirect of `/sitemap` requests to `/sitemap.xml`, in the `next.config.mjs` + +## Screenshots + +After following the installation steps, you should have the example sitemap pages as shown in the screenshots below: + +| | | +| :--------------------------------------------------------------------------: | :----------------------------------------------------------------------------------: | +| ![index](./screenshots/sitemap-index.png "Sitemap index")
Sitemap index | ![posts](./screenshots/sitemap-post.png "Posts")
Posts | +| ![categories](./screenshots/sitemap-category.png "Categories")
Categories | ![tags](./screenshots/sitemap-tag.png "Tags")
Tags | +| ![users](./screenshots/sitemap-user.png "Users")
Users | ![page](./screenshots/sitemap-page.png "Pages")
Pages | +| ![cpt](./screenshots/sitemap-cpt.png "Custom post type")
Custom post type | ![ctt](./screenshots/sitemap-ctt.png "Custom taxonomy type")
Custom taxonomy type | + +## Project Structure + +``` +├── example-app # Next.js application root +│ ├── public +│ │ └── sitemap.xsl # XSLT style file for the sitemap +│ └── src +│ ├── components +│ ├── lib +│ │ ├── client.js # Apollo Client instance +│ │ └── generateSiteMap.js # Helper function that generates the XML content +│ └── pages +│ ├── sitemap # Base path for sitemap subpages +│ │ └── [...type] # Catch-all route for sitemap subpages +│ └── sitemap.xml.js # Index sitemap.xml page +├── hwpt-wpgraphql-sitemap # PHP files for the HWPT WPGraphQL Sitemap plugin +├── hwpt-wpgraphql-sitemap.zip # HWPT WPGraphQL Sitemap plugin to enable sitemap fields +├── .wp-env.json # wp-env configuration file +└── wp-env + ├── db + │ └── database.sql # WordPress database including all demo data for the example + └── uploads.zip # WordPress content to be used by wp-env +``` + +## Important notes + +- If you're intending to use this example with your own WordPress instance, make sure to uncheck the `Discourage search engines from indexing this site` checkbox under `Settings -> Reading` in the WordPress admin. +- If the XML sitemap feature in Yoast SEO is enabled, it will disable the native WordPress sitemap. To run this example, you must disable Yoast SEO's XML sitemap feature. + +## Running the example with wp-env + +### Prerequisites + +- Node.js (v18+ recommended) +- [Docker](https://www.docker.com/) (if you plan on running the example see details below) + +**Note** Please make sure you have all prerequisites installed as mentioned above and Docker running (`docker ps`) + +### Setup Repository and Packages + +- Clone the repo `git clone https://github.com/wpengine/hwptoolkit.git` +- Install packages `cd hwptoolkit && npm install` +- Setup a .env file under `examples/next/custom-sitemap-apollo/example-app` and add these values inside: + +``` +NEXT_PUBLIC_WORDPRESS_URL=http://localhost:8888 +NEXT_PUBLIC_URL=http://localhost:3000 +``` + +or run the command below: + +```bash +echo "NEXT_PUBLIC_WORDPRESS_URL=http://localhost:8888\\nNEXT_PUBLIC_URL=http://localhost:3000" > examples/next/custom-sitemap-apollo/example-app/.env +``` + +### Build and start the application + +- `cd examples/next/custom-sitemap-apollo` +- Then run `npm run example:build` will build and start your application. +- This does the following: + - Unzips `wp-env/uploads.zip` to `wp-env/uploads` which is mapped to the wp-content/uploads directory for the Docker container. + - Starts up [wp-env](https://developer.wordpress.org/block-editor/getting-started/devenv/get-started-with-wp-env/) + - Imports the database from [wp-env/db/database.sql](wp-env/db/database.sql) + - Install Next.js dependencies for `example-app` + - Runs the Next.js dev script + +Congratulations, WordPress should now be fully set up. + +| Frontend | Admin | +| ------------------------------------------------ | ------------------------------------------------------------------ | +| [http://localhost:3000/](http://localhost:3000/) | [http://localhost:8888/wp-admin/](http://localhost:8888/wp-admin/) | + +> **Note:** The login details for the admin is username "admin" and password "password" + +### Command Reference + +| Command | Description | +| --------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| `example:build` | Prepares the environment by unzipping images, starting WordPress, importing the database, and starting the application. | +| `example:dev` | Runs the Next.js development server. | +| `example:dev:install` | Installs the required Next.js packages. | +| `example:start` | Starts WordPress and the Next.js development server. | +| `example:stop` | Stops the WordPress environment. | +| `example:prune` | Rebuilds and restarts the application by destroying and recreating the WordPress environment. | +| `wp:start` | Starts the WordPress environment. | +| `wp:stop` | Stops the WordPress environment. | +| `wp:destroy` | Completely removes the WordPress environment. | +| `wp:db:query` | Executes a database query within the WordPress environment. | +| `wp:db:export` | Exports the WordPress database to `wp-env/db/database.sql`. | +| `wp:db:import` | Imports the WordPress database from `wp-env/db/database.sql`. | +| `wp:images:unzip` | Extracts the WordPress uploads directory. | +| `wp:images:zip` | Compresses the WordPress uploads directory. | + +> **Note** You can run `npm run wp-env` and use any other wp-env command. You can also see for more details on how to use or configure `wp-env`. + +### Database access + +If you need database access add the following to your wp-env `"phpmyadminPort": 11111,` (where port 11111 is not allocated). + +You can check if a port is free by running `lsof -i :11111` diff --git a/examples/next/custom-sitemap-apollo/example-app/.gitignore b/examples/next/custom-sitemap-apollo/example-app/.gitignore new file mode 100644 index 0000000..5ef6a52 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/examples/next/custom-sitemap-apollo/example-app/eslint.config.mjs b/examples/next/custom-sitemap-apollo/example-app/eslint.config.mjs new file mode 100644 index 0000000..348c45a --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/eslint.config.mjs @@ -0,0 +1,14 @@ +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [...compat.extends("next/core-web-vitals")]; + +export default eslintConfig; diff --git a/examples/next/custom-sitemap-apollo/example-app/jsconfig.json b/examples/next/custom-sitemap-apollo/example-app/jsconfig.json new file mode 100644 index 0000000..b8d6842 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/jsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/examples/next/custom-sitemap-apollo/example-app/next.config.mjs b/examples/next/custom-sitemap-apollo/example-app/next.config.mjs new file mode 100644 index 0000000..d422d87 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/next.config.mjs @@ -0,0 +1,15 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + async redirects() { + return [ + { + source: "/sitemap", + destination: "/sitemap.xml", + permanent: true, + }, + ]; + }, +}; + +export default nextConfig; diff --git a/examples/next/custom-sitemap-apollo/example-app/package.json b/examples/next/custom-sitemap-apollo/example-app/package.json new file mode 100644 index 0000000..ec5d011 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/package.json @@ -0,0 +1,24 @@ +{ + "name": "custom-sitemap-apollo-example-app", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@apollo/client": "^3.13.5", + "next": "15.2.4", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4", + "eslint": "^9", + "eslint-config-next": "15.2.4", + "tailwindcss": "^4" + } +} diff --git a/examples/next/custom-sitemap-apollo/example-app/postcss.config.mjs b/examples/next/custom-sitemap-apollo/example-app/postcss.config.mjs new file mode 100644 index 0000000..c7bcb4b --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/postcss.config.mjs @@ -0,0 +1,5 @@ +const config = { + plugins: ["@tailwindcss/postcss"], +}; + +export default config; diff --git a/examples/next/custom-sitemap-apollo/example-app/public/favicon.ico b/examples/next/custom-sitemap-apollo/example-app/public/favicon.ico new file mode 100644 index 0000000..718d6fe Binary files /dev/null and b/examples/next/custom-sitemap-apollo/example-app/public/favicon.ico differ diff --git a/examples/next/custom-sitemap-apollo/example-app/public/sitemap.xsl b/examples/next/custom-sitemap-apollo/example-app/public/sitemap.xsl new file mode 100644 index 0000000..eacf8ae --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/public/sitemap.xsl @@ -0,0 +1,83 @@ + + + + + + + + + XML Sitemap + + + +

XML Sitemap

+

Total URLs in this sitemap:

+ + + + + + + + + + + + + + + + + + + + + + + +
URLImageLast Modified
+ + + + + + + + + + + + + +
+ + +
+
\ No newline at end of file diff --git a/examples/next/custom-sitemap-apollo/example-app/src/components/Archive.js b/examples/next/custom-sitemap-apollo/example-app/src/components/Archive.js new file mode 100644 index 0000000..7fae41a --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/components/Archive.js @@ -0,0 +1,22 @@ +import { BlogPostItem } from "@/components/BlogPostItem"; +import Head from "next/head"; + +export default function Archive({ posts, type, title }) { + const pageTitle = type + ": " + title; + + return ( + <> + + {pageTitle} + + +

{pageTitle}

+ + {posts?.map((item) => { + const post = item.node; + + return ; + })} + + ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/components/BlogPostItem.js b/examples/next/custom-sitemap-apollo/example-app/src/components/BlogPostItem.js new file mode 100644 index 0000000..58740f7 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/components/BlogPostItem.js @@ -0,0 +1,32 @@ +import Link from "next/link"; + +export function BlogPostItem({ post }) { + const { title, date, excerpt, uri, featuredImage } = post ?? {}; + + return ( +
+ + + {featuredImage && ( + + )} + +

+ + {title} + +

+ +
+ + + Read more + +
+ ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/components/CouldNotLoad.js b/examples/next/custom-sitemap-apollo/example-app/src/components/CouldNotLoad.js new file mode 100644 index 0000000..1343f3e --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/components/CouldNotLoad.js @@ -0,0 +1,7 @@ +export default function CouldNotLoad() { + return ( +
+

Could not load the post

+
+ ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/components/Header.js b/examples/next/custom-sitemap-apollo/example-app/src/components/Header.js new file mode 100644 index 0000000..5600942 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/components/Header.js @@ -0,0 +1,38 @@ +/* eslint-disable @next/next/no-html-link-for-pages */ +import { gql, useQuery } from "@apollo/client"; +import Link from "next/link"; + +// Defining a GraphQL query to fetch the blog title +const GET_BLOG_TITLE = gql` + query GetBlogTitle { + allSettings { + generalSettingsTitle + } + } +`; + +export default function Header() { + // Using the useQuery hook to execute the GraphQL query and get the data + const { data } = useQuery(GET_BLOG_TITLE); + // Extracting the blog title from the fetched data + const blogTitle = data?.allSettings?.generalSettingsTitle; + + return ( +
+
+
+ {blogTitle} +
+ + +
+
+ ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/components/Loading.js b/examples/next/custom-sitemap-apollo/example-app/src/components/Loading.js new file mode 100644 index 0000000..a1b5343 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/components/Loading.js @@ -0,0 +1,5 @@ +export default function Loading() { + return ( +
+ ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/components/Single.js b/examples/next/custom-sitemap-apollo/example-app/src/components/Single.js new file mode 100644 index 0000000..c96f01f --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/components/Single.js @@ -0,0 +1,25 @@ +import Head from "next/head"; + +export default function Single({ data }) { + const { title, content, featuredImage } = data ?? {}; + + return ( + <> + + {title} + + +
+
+

{title}

+
+ + {featuredImage && ( + + )} + +
+
+ + ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/lib/client.js b/examples/next/custom-sitemap-apollo/example-app/src/lib/client.js new file mode 100644 index 0000000..f8da196 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/lib/client.js @@ -0,0 +1,16 @@ +import { ApolloClient, HttpLink, InMemoryCache } from "@apollo/client"; + +// Get the WordPress URL from environment variables +// More info: https://nextjs.org/docs/basic-features/environment-variables +const WORDPRESS_URL = process.env.NEXT_PUBLIC_WORDPRESS_URL; + +// Initialize Apollo Client with the link and cache configuration +// More info: https://www.apollographql.com/docs/react/api/core/ApolloClient/ +export const client = new ApolloClient({ + link: new HttpLink({ + uri: WORDPRESS_URL + "/graphql", + useGETForQueries: true, + }), + ssrMode: typeof window === "undefined", // Enable SSR mode for server-side rendering + cache: new InMemoryCache(), +}); diff --git a/examples/next/custom-sitemap-apollo/example-app/src/lib/generateSiteMap.js b/examples/next/custom-sitemap-apollo/example-app/src/lib/generateSiteMap.js new file mode 100644 index 0000000..5c2bdfd --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/lib/generateSiteMap.js @@ -0,0 +1,8 @@ +// Generate XML content for sitemap.xml +export function generateSiteMap(entries = [], renderEntries = () => "") { + return ` + + + ${entries?.map(renderEntries).join("")} + `; +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/pages/[...uri].js b/examples/next/custom-sitemap-apollo/example-app/src/pages/[...uri].js new file mode 100644 index 0000000..978dbe8 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/pages/[...uri].js @@ -0,0 +1,169 @@ +import Archive from "@/components/Archive"; +import CouldNotLoad from "@/components/CouldNotLoad"; +import Single from "@/components/Single"; +import { client } from "@/lib/client"; +import { gql } from "@apollo/client"; + +const ARCHIVE_TYPES = ["User", "Category", "Tag", "Period"]; +const SINGLE_TYPES = ["Post", "Page", "Building"]; + +export default function Content({ data }) { + const contentType = data?.nodeByUri?.__typename; + + // Periods have buildings instead of posts, so we need to handle them separately + if (contentType === "Period") { + const posts = data.nodeByUri?.buildings?.edges; + + return ; + } + + if (ARCHIVE_TYPES.includes(contentType)) { + const posts = data.nodeByUri?.posts?.edges; + + return ; + } + + if (SINGLE_TYPES.includes(contentType)) { + return ; + } + + // Render CouldNotLoad component if content type is unknown + return ; +} + +// GraphQL query with the Page and Post fragments +const GET_CONTENT = gql` + fragment Page on Page { + title + content + featuredImage { + node { + sourceUrl(size: LARGE) + caption + } + } + } + + fragment Post on Post { + __typename + id + databaseId + date + uri + content + excerpt + title + author { + node { + name + } + } + featuredImage { + node { + sourceUrl(size: LARGE) + caption + } + } + } + + fragment Building on Building { + id + title + uri + excerpt + date + content + featuredImage { + node { + sourceUrl(size: LARGE) + caption + } + } + } + + query GetNodeByUri($uri: String!) { + nodeByUri(uri: $uri) { + __typename + ...Page + ...Post + ...Building + ... on User { + name + posts { + edges { + node { + ...Post + } + } + } + } + ... on Category { + uri + name + posts { + edges { + node { + ...Post + } + } + } + } + ... on Tag { + uri + name + posts { + edges { + node { + ...Post + } + } + } + } + ... on Period { + uri + name + buildings { + edges { + node { + ...Building + } + } + } + } + ... on PostFormat { + uri + name + posts { + edges { + node { + ...Post + } + } + } + } + } + } +`; + +// Next.js function to fetch data on the server side before rendering the page +export async function getServerSideProps({ params }) { + const { data } = await client.query({ + query: GET_CONTENT, + variables: { + uri: params.uri.join("/"), + }, + }); + + // Return 404 page if no data is found + if (!data?.nodeByUri) + return { + notFound: true, + }; + + // Pass the fetched data to the page component as props + return { + props: { + data, + }, + }; +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/pages/_app.js b/examples/next/custom-sitemap-apollo/example-app/src/pages/_app.js new file mode 100644 index 0000000..d01b9ea --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/pages/_app.js @@ -0,0 +1,17 @@ +import "@/styles/globals.css"; +import { client } from "@/lib/client"; +import { ApolloProvider } from "@apollo/client"; +import Header from "@/components/Header"; + +export default function App({ Component, pageProps }) { + return ( + // ApolloProvider makes the Apollo Client available to the rest of the app + +
+
+ + +
+
+ ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/pages/_document.js b/examples/next/custom-sitemap-apollo/example-app/src/pages/_document.js new file mode 100644 index 0000000..628a733 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/pages/_document.js @@ -0,0 +1,13 @@ +import { Html, Head, Main, NextScript } from "next/document"; + +export default function Document() { + return ( + + + +
+ + + + ); +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/pages/index.js b/examples/next/custom-sitemap-apollo/example-app/src/pages/index.js new file mode 100644 index 0000000..9a5f2fb --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/pages/index.js @@ -0,0 +1,53 @@ +import { BlogPostItem } from "@/components/BlogPostItem"; +import { client } from "@/lib/client"; +import { gql } from "@apollo/client"; +import Head from "next/head"; + +const LIST_POSTS = gql` + query ListPosts { + posts(first: 20) { + edges { + node { + id + title + uri + excerpt + date + featuredImage { + node { + sourceUrl(size: LARGE) + caption + } + } + } + } + } + } +`; + +export default function Blog({ data }) { + return ( + <> + + Home + + + {data?.posts?.edges?.map((item) => { + const post = item.node; + + return ; + })} + + ); +} + +// Fetch the initial list of posts at request time using getServerSideProps +export async function getServerSideProps() { + const { data } = await client.query({ query: LIST_POSTS }); + + return { + props: { + data, + }, + }; +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/pages/sitemap.xml.js b/examples/next/custom-sitemap-apollo/example-app/src/pages/sitemap.xml.js new file mode 100644 index 0000000..8b2e398 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/pages/sitemap.xml.js @@ -0,0 +1,54 @@ +import { client } from "@/lib/client"; +import { generateSiteMap } from "@/lib/generateSiteMap"; +import { gql } from "@apollo/client"; + +// Get public URL from environment variables +const publicUrl = process.env.NEXT_PUBLIC_URL; + +// This query will get all the sitemap subTypes +// and return them with the parent type and page counts information +const LIST_SITEMAP_TYPES = gql` + query ListSitemapTypes { + sitemapTypes { + type + subType + pages + } + } +`; + +// Render a separate link for each subType and page +function renderTypes(item) { + const { type, subType, pages } = item ?? {}; + + return [...Array(pages)].map( + (_, index) => ` + + ${`${publicUrl}/sitemap/${type}/${subType}/${index + 1}.xml`} + + ` + ); +} + +export default function SiteMap() { + // XML content will be generated in getServerSideProps +} + +// More info: https://nextjs.org/learn/seo/xml-sitemaps +export async function getServerSideProps({ res, req }) { + // In this function we will form our index sitemap + const data = await client.query({ query: LIST_SITEMAP_TYPES }); + const subTypes = data?.data?.sitemapTypes ?? []; + + // Create text content of XML sitemap + const sitemap = generateSiteMap(subTypes, renderTypes); + + // Set the response header to XML and respond with the generated sitemap + res.setHeader("Content-Type", "text/xml"); + res.write(sitemap); + res.end(); + + return { + props: {}, + }; +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/pages/sitemap/[...type]/index.js b/examples/next/custom-sitemap-apollo/example-app/src/pages/sitemap/[...type]/index.js new file mode 100644 index 0000000..49248a8 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/pages/sitemap/[...type]/index.js @@ -0,0 +1,70 @@ +import { client } from "@/lib/client"; +import { generateSiteMap } from "@/lib/generateSiteMap"; +import { gql } from "@apollo/client"; + +// Get public URL from environment variables +const publicUrl = process.env.NEXT_PUBLIC_URL; + +// This query will get all the urls for given type and subType and page number +const LIST_SITEMAP_ENTRIES = gql` + query ListSitemapEntries($type: String!, $subType: String!, $page: Int!) { + sitemapEntries(type: $type, subType: $subType, page: $page) { + uri + lastmod + imageLoc + } + } +`; + +function renderEntries(entry) { + const { imageLoc, lastmod, uri } = entry ?? {}; + // We're also adding featured images when available + // More info: https://developers.google.com/search/docs/crawling-indexing/sitemaps/image-sitemaps + const imageString = imageLoc + ? ` + ${imageLoc} + ` + : ""; + + const lastmodString = lastmod ? `${lastmod}` : ""; + + return ` + ${publicUrl}${uri} + ${lastmodString} + ${imageString} + `; +} + +export default function SiteMap() { + // XML content will be generated in getServerSideProps +} + +export async function getServerSideProps({ query, res }) { + // We will receive the type, subType, and page from the query + const [type, subType, page] = query?.type ?? []; + const hasXmlExtension = page?.endsWith(".xml"); // Make sure the URL ends with .xml + + if (type && subType && hasXmlExtension) { + // Get all the URLs for the given type, subType, and page + const data = await client.query({ + query: LIST_SITEMAP_ENTRIES, + variables: { type, subType, page: parseInt(page, 10) }, + }); + const entries = data?.data?.sitemapEntries ?? []; + + const sitemap = generateSiteMap(entries, renderEntries); + + // Set the response header to XML and respond with the generated sitemap + res.setHeader("Content-Type", "text/xml"); + res.write(sitemap); + res.end(); + + return { + props: {}, + }; + } + + return { + notFound: true, + }; +} diff --git a/examples/next/custom-sitemap-apollo/example-app/src/styles/globals.css b/examples/next/custom-sitemap-apollo/example-app/src/styles/globals.css new file mode 100644 index 0000000..2a89a48 --- /dev/null +++ b/examples/next/custom-sitemap-apollo/example-app/src/styles/globals.css @@ -0,0 +1,19 @@ +@import "tailwindcss"; + +:root { + --background: #ffffff; + --foreground: #171717; +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --font-sans: var(--font-geist-sans); + --font-mono: var(--font-geist-mono); +} + +body { + background: var(--background); + color: var(--foreground); + font-family: Arial, Helvetica, sans-serif; +} diff --git a/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap.zip b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap.zip new file mode 100644 index 0000000..6ae53d0 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap.zip differ diff --git a/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/hwpt-wpgraphql-sitemap.php b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/hwpt-wpgraphql-sitemap.php new file mode 100644 index 0000000..28de91b --- /dev/null +++ b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/hwpt-wpgraphql-sitemap.php @@ -0,0 +1,41 @@ +ID ); + + if ( $featured_image_id ) { + $featured_image_url = wp_get_attachment_image_url( $featured_image_id, 'full' ); + + if ( $featured_image_url ) { + // Add image to the entry array + $entry['imageLoc'] = $featured_image_url; + } + } + + return $entry; +}, 10, 2 ); + +// Custom WPGraphQL fields +require_once __DIR__ . '/sitemap-types-resolver.php'; +require_once __DIR__ . '/sitemap-entries-resolver.php'; diff --git a/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/sitemap-entries-resolver.php b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/sitemap-entries-resolver.php new file mode 100644 index 0000000..bef037f --- /dev/null +++ b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/sitemap-entries-resolver.php @@ -0,0 +1,80 @@ + 'Sitemap entry', + 'fields' => [ + 'uri' => [ + 'type' => 'String', + 'description' => 'Entry URI' + ], + 'lastmod' => [ + 'type' => 'String', + 'description' => 'Last modified date' + ], + 'imageLoc' => [ + 'type' => 'String', + 'description' => 'The URL of the featured image for this sitemap entry' + ] + ], + ] + ); + + + // Register a new GraphQL field with args + // More info: https://www.wpgraphql.com/2020/03/11/registering-graphql-fields-with-arguments + register_graphql_field( 'RootQuery', 'sitemapEntries', [ + 'type' => [ 'list_of' => 'sitemapEntry' ], + 'args' => [ + 'type' => [ + 'type' => [ 'non_null' => 'String' ], // Add required string argument + 'description' => 'Type that you have got from SitemapType', + ], + 'subType' => [ + 'type' => [ 'non_null' => 'String' ], // Add required string argument + 'description' => 'Subtype that you have got from SitemapType', + ], + 'page' => [ + 'type' => [ 'non_null' => 'Integer' ], // Add required integer argument + 'description' => 'Page number', + ], + ], + 'description' => 'List of sitemap entries', + 'resolve' => function( $source, $args, $context, $info) { + $sitemap_providers = wp_get_sitemap_providers(); + + if(! isset($sitemap_providers)){ + return array(); // Return empty array if the providers are not set + } + + // Sanitize and validate the arguments + $type = isset($args['type']) ? sanitize_text_field($args['type']) : ''; + $subType = isset($args['subType']) ? sanitize_text_field($args['subType']) : ''; + $page = isset($args['page']) ? absint($args['page']) : 1; + + $type_provider = $sitemap_providers[$type]; + + if(!$type_provider) { + return array(); // Return empty array if the provider doesn't exist + } + + $entries = $sitemap_providers[$type]->get_url_list($page, $subType); + + foreach ($entries as &$entry) { + $entry['uri'] = wp_make_link_relative( $entry['loc'] ); // Convert full permalink to relative + unset($entry['loc']); // Remove loc as we already have uri + } + + return $entries; + } + ] ); +}); \ No newline at end of file diff --git a/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/sitemap-types-resolver.php b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/sitemap-types-resolver.php new file mode 100644 index 0000000..c901d8c --- /dev/null +++ b/examples/next/custom-sitemap-apollo/hwpt-wpgraphql-sitemap/sitemap-types-resolver.php @@ -0,0 +1,73 @@ + 'Sitemap type', + 'fields' => [ + 'type' => [ + 'type' => 'String', + 'description' => 'Main type (posts, taxonomies, users)' + ], + 'subType' => [ + 'type' => 'String', + 'description' => 'Subtype (post, page, category, etc.)' + ], + 'pages' => [ + 'type' => 'Integer', + 'description' => 'Total page count' + ] + ], + ] + ); + + // Register a new GraphQL field + // More info: https://www.wpgraphql.com/recipes/register-object-and-field-for-custom-list-of-users + register_graphql_field( 'RootQuery', 'sitemapTypes', [ + 'type' => [ 'list_of' => 'sitemapType' ], + 'description' => 'List of supported sitemap types', + 'resolve' => function() { + $sitemap_providers = wp_get_sitemap_providers(); + + function get_sitemap_types($type, $provider) { + if (isset($provider[$type])) { + $entries = $provider[$type]->get_sitemap_type_data(); + + foreach ($entries as $key => &$entry) { + $entry['subType'] = $entry['name']; + $entry['type'] = $type; + + // Use type as a name if the name is empty (for users) + if (empty($entry['name'])) { + $entry['subType'] = $type; + } + + // If there are no pages, remove the entry + if($entry["pages"] === 0) { + unset($entries[$key]); + } + } + + return $entries; + } + + // Return an empty array if the provider doesn't exist + return array(); + } + + $posts = get_sitemap_types('posts', $sitemap_providers); + $taxonomies = get_sitemap_types('taxonomies', $sitemap_providers); + $users = get_sitemap_types('users', $sitemap_providers); + + return array_merge($users, $taxonomies, $posts); + } + ]); +}); \ No newline at end of file diff --git a/examples/next/custom-sitemap-apollo/package.json b/examples/next/custom-sitemap-apollo/package.json new file mode 100644 index 0000000..df32b8c --- /dev/null +++ b/examples/next/custom-sitemap-apollo/package.json @@ -0,0 +1,43 @@ +{ + "name": "custom-sitemap-apollo", + "version": "1.0.0", + "description": "An example demonstrating how to fetch and display a custom sitemap using Apollo Client in a Next.js application.", + "scripts": { + "example:build": "npm run wp:images:unzip && npm run example:dev:install && npm run wp:start && npm run wp:db:import && npm run example:start", + "example:dev:install": "cd example-app && npm install && cd ..", + "example:start": "npm run wp:start && npm run example:dev", + "example:stop": "npm run wp:stop", + "example:prune": "wp-env destroy && npm run example:build && npm run example:start", + "example:dev": "npm --prefix ./example-app run dev", + "wp:start": "npm install && wp-env start", + "wp:stop": "wp-env stop", + "wp:destroy": "wp-env destroy --config ./wp-env/wp-env.json", + "wp:db:query": "wp-env run cli -- wp db query", + "wp:db:export": "wp-env run cli -- wp db export /var/www/html/db/database.sql", + "wp:db:import": "wp-env run cli -- wp db import /var/www/html/db/database.sql", + "wp:images:unzip": "rm -rf wp-env/uploads/ && unzip wp-env/uploads.zip -d wp-env;", + "wp:images:zip": "zip -r wp-env/uploads.zip wp-env/uploads", + "wp-env": "wp-env" + }, + "keywords": [ + "headless", + "wordpress", + "nextjs", + "apollo-client", + "fullstack", + "headless-cms", + "wpgraphql", + "headless-wordpress", + "nextjs-pages-router", + "wp-env-configuration", + "fullstack-example", + "sitemap", + "wordpress-sitemap", + "wpgraphql-sitemap" + ], + "author": "hwptoolkit", + "license": "BSD-0-Clause", + "dependencies": { + "@wordpress/env": "^10.20.0" + } +} diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-category.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-category.png new file mode 100644 index 0000000..2135386 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-category.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-cpt.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-cpt.png new file mode 100644 index 0000000..cc6f3c6 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-cpt.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-ctt.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-ctt.png new file mode 100644 index 0000000..c2381c2 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-ctt.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-index.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-index.png new file mode 100644 index 0000000..3112bdf Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-index.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-page.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-page.png new file mode 100644 index 0000000..808ade5 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-page.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-post.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-post.png new file mode 100644 index 0000000..431c671 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-post.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-tag.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-tag.png new file mode 100644 index 0000000..8265818 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-tag.png differ diff --git a/examples/next/custom-sitemap-apollo/screenshots/sitemap-user.png b/examples/next/custom-sitemap-apollo/screenshots/sitemap-user.png new file mode 100644 index 0000000..a7c1c27 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/screenshots/sitemap-user.png differ diff --git a/examples/next/custom-sitemap-apollo/wp-env/db/database.sql b/examples/next/custom-sitemap-apollo/wp-env/db/database.sql new file mode 100644 index 0000000..1a4949d --- /dev/null +++ b/examples/next/custom-sitemap-apollo/wp-env/db/database.sql @@ -0,0 +1,410 @@ +-- MariaDB dump 10.19 Distrib 10.6.10-MariaDB, for Linux (aarch64) +-- +-- Host: mysql Database: wordpress +-- ------------------------------------------------------ +-- Server version 11.7.2-MariaDB-ubu2404 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `wp_commentmeta` +-- + +DROP TABLE IF EXISTS `wp_commentmeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_commentmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext DEFAULT NULL, + PRIMARY KEY (`meta_id`), + KEY `comment_id` (`comment_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_commentmeta` +-- + +LOCK TABLES `wp_commentmeta` WRITE; +/*!40000 ALTER TABLE `wp_commentmeta` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_commentmeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_comments` +-- + +DROP TABLE IF EXISTS `wp_comments`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_comments` ( + `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT 0, + `comment_author` tinytext NOT NULL, + `comment_author_email` varchar(100) NOT NULL DEFAULT '', + `comment_author_url` varchar(200) NOT NULL DEFAULT '', + `comment_author_IP` varchar(100) NOT NULL DEFAULT '', + `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_content` text NOT NULL, + `comment_karma` int(11) NOT NULL DEFAULT 0, + `comment_approved` varchar(20) NOT NULL DEFAULT '1', + `comment_agent` varchar(255) NOT NULL DEFAULT '', + `comment_type` varchar(20) NOT NULL DEFAULT 'comment', + `comment_parent` bigint(20) unsigned NOT NULL DEFAULT 0, + `user_id` bigint(20) unsigned NOT NULL DEFAULT 0, + PRIMARY KEY (`comment_ID`), + KEY `comment_post_ID` (`comment_post_ID`), + KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), + KEY `comment_date_gmt` (`comment_date_gmt`), + KEY `comment_parent` (`comment_parent`), + KEY `comment_author_email` (`comment_author_email`(10)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_comments` +-- + +LOCK TABLES `wp_comments` WRITE; +/*!40000 ALTER TABLE `wp_comments` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_comments` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_links` +-- + +DROP TABLE IF EXISTS `wp_links`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_links` ( + `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `link_url` varchar(255) NOT NULL DEFAULT '', + `link_name` varchar(255) NOT NULL DEFAULT '', + `link_image` varchar(255) NOT NULL DEFAULT '', + `link_target` varchar(25) NOT NULL DEFAULT '', + `link_description` varchar(255) NOT NULL DEFAULT '', + `link_visible` varchar(20) NOT NULL DEFAULT 'Y', + `link_owner` bigint(20) unsigned NOT NULL DEFAULT 1, + `link_rating` int(11) NOT NULL DEFAULT 0, + `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `link_rel` varchar(255) NOT NULL DEFAULT '', + `link_notes` mediumtext NOT NULL, + `link_rss` varchar(255) NOT NULL DEFAULT '', + PRIMARY KEY (`link_id`), + KEY `link_visible` (`link_visible`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_links` +-- + +LOCK TABLES `wp_links` WRITE; +/*!40000 ALTER TABLE `wp_links` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_links` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_options` +-- + +DROP TABLE IF EXISTS `wp_options`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `option_name` varchar(191) NOT NULL DEFAULT '', + `option_value` longtext NOT NULL, + `autoload` varchar(20) NOT NULL DEFAULT 'yes', + PRIMARY KEY (`option_id`), + UNIQUE KEY `option_name` (`option_name`), + KEY `autoload` (`autoload`) +) ENGINE=InnoDB AUTO_INCREMENT=276 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_options` +-- + +LOCK TABLES `wp_options` WRITE; +/*!40000 ALTER TABLE `wp_options` DISABLE KEYS */; +INSERT INTO `wp_options` VALUES (1,'cron','a:23:{i:1743163867;a:1:{s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1743165667;a:2:{s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:34:\"wp_privacy_delete_old_export_files\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1743165755;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"c9059feef497c200e69cb9956a81f005\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:5;}}}}i:1743170751;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"0788f78fe69d70d1d4752e57aa22b566\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:357;}}}}i:1743170763;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"f69ca2a244e86e4c29242128df8e8956\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:358;}}}}i:1743170772;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"563efdbbb2f307dfb80c1d496d0109b2\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:359;}}}}i:1743170782;a:1:{s:26:\"upgrader_scheduled_cleanup\";a:1:{s:32:\"32a99f765d2b1a63b1790ee770c3fb21\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:360;}}}}i:1743201685;a:1:{s:21:\"wp_update_user_counts\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1743205267;a:1:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1743244867;a:2:{s:30:\"wp_site_health_scheduled_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}s:32:\"recovery_mode_clean_expired_keys\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1743244885;a:2:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}s:25:\"delete_expired_transients\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1743244886;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1743246097;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"686c8315be36c96dc00d0d7ed3656b43\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:6;}}}}i:1743246167;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"25117f4b9fd9bb6384d0eb8ea708c8b9\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:12;}}}}i:1743246175;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"bad9df8a7c3fa92d28999d03f4ccb29e\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:18;}}}}i:1743246409;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"1aee8163cf336b6de8481860de53f230\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:29;}}}}i:1743246864;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"3c2f09ef3307c7968f556ae704095acf\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:35;}}}}i:1743247077;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"1116d9ef00bc7112389bca5c44a23a14\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:36;}}}}i:1743247202;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"0f46b246aa1944327c5c8450376eb6e0\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:306;}}}}i:1743247316;a:1:{s:26:\"importer_scheduled_cleanup\";a:1:{s:32:\"1d5de63f2a862a1a655d7261e844bc49\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:312;}}}}i:1743763324;a:1:{s:30:\"wp_delete_temp_updater_backups\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}}i:1743763363;a:1:{s:27:\"acf_update_site_health_data\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}}s:7:\"version\";i:2;}','on'),(2,'siteurl','http://localhost:8888','on'),(3,'home','http://localhost:8888','on'),(4,'blogname','Echoes','on'),(5,'blogdescription','','on'),(6,'users_can_register','0','on'),(7,'admin_email','dev-email@wpengine.local','on'),(8,'start_of_week','1','on'),(9,'use_balanceTags','0','on'),(10,'use_smilies','1','on'),(11,'require_name_email','1','on'),(12,'comments_notify','1','on'),(13,'posts_per_rss','10','on'),(14,'rss_use_excerpt','0','on'),(15,'mailserver_url','mail.example.com','on'),(16,'mailserver_login','login@example.com','on'),(17,'mailserver_pass','','on'),(18,'mailserver_port','110','on'),(19,'default_category','1','on'),(20,'default_comment_status','open','on'),(21,'default_ping_status','open','on'),(22,'default_pingback_flag','1','on'),(23,'posts_per_page','10','on'),(24,'date_format','F j, Y','on'),(25,'time_format','g:i a','on'),(26,'links_updated_date_format','F j, Y g:i a','on'),(27,'comment_moderation','0','on'),(28,'moderation_notify','1','on'),(29,'permalink_structure','/%postname%/','on'),(30,'rewrite_rules','a:117:{s:11:\"^wp-json/?$\";s:22:\"index.php?rest_route=/\";s:14:\"^wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:21:\"^index.php/wp-json/?$\";s:22:\"index.php?rest_route=/\";s:24:\"^index.php/wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:17:\"^wp-sitemap\\.xml$\";s:23:\"index.php?sitemap=index\";s:17:\"^wp-sitemap\\.xsl$\";s:36:\"index.php?sitemap-stylesheet=sitemap\";s:23:\"^wp-sitemap-index\\.xsl$\";s:34:\"index.php?sitemap-stylesheet=index\";s:48:\"^wp-sitemap-([a-z]+?)-([a-z\\d_-]+?)-(\\d+?)\\.xml$\";s:75:\"index.php?sitemap=$matches[1]&sitemap-subtype=$matches[2]&paged=$matches[3]\";s:34:\"^wp-sitemap-([a-z]+?)-(\\d+?)\\.xml$\";s:47:\"index.php?sitemap=$matches[1]&paged=$matches[2]\";s:10:\"graphql/?$\";s:22:\"index.php?graphql=true\";s:47:\"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:42:\"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:23:\"category/(.+?)/embed/?$\";s:46:\"index.php?category_name=$matches[1]&embed=true\";s:35:\"category/(.+?)/page/?([0-9]{1,})/?$\";s:53:\"index.php?category_name=$matches[1]&paged=$matches[2]\";s:17:\"category/(.+?)/?$\";s:35:\"index.php?category_name=$matches[1]\";s:44:\"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:39:\"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:20:\"tag/([^/]+)/embed/?$\";s:36:\"index.php?tag=$matches[1]&embed=true\";s:32:\"tag/([^/]+)/page/?([0-9]{1,})/?$\";s:43:\"index.php?tag=$matches[1]&paged=$matches[2]\";s:14:\"tag/([^/]+)/?$\";s:25:\"index.php?tag=$matches[1]\";s:45:\"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:40:\"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:21:\"type/([^/]+)/embed/?$\";s:44:\"index.php?post_format=$matches[1]&embed=true\";s:33:\"type/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?post_format=$matches[1]&paged=$matches[2]\";s:15:\"type/([^/]+)/?$\";s:33:\"index.php?post_format=$matches[1]\";s:47:\"period/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:45:\"index.php?period=$matches[1]&feed=$matches[2]\";s:42:\"period/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:45:\"index.php?period=$matches[1]&feed=$matches[2]\";s:23:\"period/([^/]+)/embed/?$\";s:39:\"index.php?period=$matches[1]&embed=true\";s:35:\"period/([^/]+)/page/?([0-9]{1,})/?$\";s:46:\"index.php?period=$matches[1]&paged=$matches[2]\";s:17:\"period/([^/]+)/?$\";s:28:\"index.php?period=$matches[1]\";s:36:\"building/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:46:\"building/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:66:\"building/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:61:\"building/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:61:\"building/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:42:\"building/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:25:\"building/([^/]+)/embed/?$\";s:41:\"index.php?building=$matches[1]&embed=true\";s:29:\"building/([^/]+)/trackback/?$\";s:35:\"index.php?building=$matches[1]&tb=1\";s:37:\"building/([^/]+)/page/?([0-9]{1,})/?$\";s:48:\"index.php?building=$matches[1]&paged=$matches[2]\";s:44:\"building/([^/]+)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?building=$matches[1]&cpage=$matches[2]\";s:33:\"building/([^/]+)(?:/([0-9]+))?/?$\";s:47:\"index.php?building=$matches[1]&page=$matches[2]\";s:25:\"building/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:35:\"building/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:55:\"building/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:50:\"building/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:50:\"building/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:31:\"building/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:12:\"robots\\.txt$\";s:18:\"index.php?robots=1\";s:13:\"favicon\\.ico$\";s:19:\"index.php?favicon=1\";s:12:\"sitemap\\.xml\";s:24:\"index.php??sitemap=index\";s:48:\".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$\";s:18:\"index.php?feed=old\";s:20:\".*wp-app\\.php(/.*)?$\";s:19:\"index.php?error=403\";s:18:\".*wp-register.php$\";s:23:\"index.php?register=true\";s:32:\"feed/(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:27:\"(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:8:\"embed/?$\";s:21:\"index.php?&embed=true\";s:20:\"page/?([0-9]{1,})/?$\";s:28:\"index.php?&paged=$matches[1]\";s:41:\"comments/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:36:\"comments/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:17:\"comments/embed/?$\";s:21:\"index.php?&embed=true\";s:44:\"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:39:\"search/(.+)/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:20:\"search/(.+)/embed/?$\";s:34:\"index.php?s=$matches[1]&embed=true\";s:32:\"search/(.+)/page/?([0-9]{1,})/?$\";s:41:\"index.php?s=$matches[1]&paged=$matches[2]\";s:14:\"search/(.+)/?$\";s:23:\"index.php?s=$matches[1]\";s:47:\"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:42:\"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:23:\"author/([^/]+)/embed/?$\";s:44:\"index.php?author_name=$matches[1]&embed=true\";s:35:\"author/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?author_name=$matches[1]&paged=$matches[2]\";s:17:\"author/([^/]+)/?$\";s:33:\"index.php?author_name=$matches[1]\";s:69:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:45:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/embed/?$\";s:74:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\";s:39:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$\";s:63:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\";s:56:\"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:51:\"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:32:\"([0-9]{4})/([0-9]{1,2})/embed/?$\";s:58:\"index.php?year=$matches[1]&monthnum=$matches[2]&embed=true\";s:44:\"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\";s:26:\"([0-9]{4})/([0-9]{1,2})/?$\";s:47:\"index.php?year=$matches[1]&monthnum=$matches[2]\";s:43:\"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:38:\"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:19:\"([0-9]{4})/embed/?$\";s:37:\"index.php?year=$matches[1]&embed=true\";s:31:\"([0-9]{4})/page/?([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&paged=$matches[2]\";s:13:\"([0-9]{4})/?$\";s:26:\"index.php?year=$matches[1]\";s:27:\".?.+?/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\".?.+?/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\".?.+?/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"(.?.+?)/embed/?$\";s:41:\"index.php?pagename=$matches[1]&embed=true\";s:20:\"(.?.+?)/trackback/?$\";s:35:\"index.php?pagename=$matches[1]&tb=1\";s:40:\"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:35:\"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:28:\"(.?.+?)/page/?([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&paged=$matches[2]\";s:35:\"(.?.+?)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&cpage=$matches[2]\";s:24:\"(.?.+?)(?:/([0-9]+))?/?$\";s:47:\"index.php?pagename=$matches[1]&page=$matches[2]\";s:27:\"[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\"[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\"[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\"[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\"[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\"[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"([^/]+)/embed/?$\";s:37:\"index.php?name=$matches[1]&embed=true\";s:20:\"([^/]+)/trackback/?$\";s:31:\"index.php?name=$matches[1]&tb=1\";s:40:\"([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?name=$matches[1]&feed=$matches[2]\";s:35:\"([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?name=$matches[1]&feed=$matches[2]\";s:28:\"([^/]+)/page/?([0-9]{1,})/?$\";s:44:\"index.php?name=$matches[1]&paged=$matches[2]\";s:35:\"([^/]+)/comment-page-([0-9]{1,})/?$\";s:44:\"index.php?name=$matches[1]&cpage=$matches[2]\";s:24:\"([^/]+)(?:/([0-9]+))?/?$\";s:43:\"index.php?name=$matches[1]&page=$matches[2]\";s:16:\"[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:26:\"[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:46:\"[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:41:\"[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:41:\"[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:22:\"[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";}','on'),(31,'hack_file','0','on'),(32,'blog_charset','UTF-8','on'),(33,'moderation_keys','','off'),(34,'active_plugins','a:4:{i:0;s:37:\"advanced-custom-fields-6.3.12/acf.php\";i:1;s:49:\"hwpt-wpgraphql-sitemap/hwpt-wpgraphql-sitemap.php\";i:2;s:25:\"wp-graphql/wp-graphql.php\";i:3;s:31:\"wpgraphql-acf/wpgraphql-acf.php\";}','on'),(35,'category_base','','on'),(36,'ping_sites','http://rpc.pingomatic.com/','on'),(37,'comment_max_links','2','on'),(38,'gmt_offset','0','on'),(39,'default_email_category','1','on'),(40,'recently_edited','','off'),(41,'template','twentytwentyfive','on'),(42,'stylesheet','twentytwentyfive','on'),(43,'comment_registration','0','on'),(44,'html_type','text/html','on'),(45,'use_trackback','0','on'),(46,'default_role','subscriber','on'),(47,'db_version','58975','on'),(48,'uploads_use_yearmonth_folders','1','on'),(49,'upload_path','','on'),(50,'blog_public','1','on'),(51,'default_link_category','2','on'),(52,'show_on_front','posts','on'),(53,'tag_base','','on'),(54,'show_avatars','1','on'),(55,'avatar_rating','G','on'),(56,'upload_url_path','','on'),(57,'thumbnail_size_w','150','on'),(58,'thumbnail_size_h','150','on'),(59,'thumbnail_crop','1','on'),(60,'medium_size_w','300','on'),(61,'medium_size_h','300','on'),(62,'avatar_default','mystery','on'),(63,'large_size_w','1024','on'),(64,'large_size_h','1024','on'),(65,'image_default_link_type','none','on'),(66,'image_default_size','','on'),(67,'image_default_align','','on'),(68,'close_comments_for_old_posts','0','on'),(69,'close_comments_days_old','14','on'),(70,'thread_comments','1','on'),(71,'thread_comments_depth','5','on'),(72,'page_comments','0','on'),(73,'comments_per_page','50','on'),(74,'default_comments_page','newest','on'),(75,'comment_order','asc','on'),(76,'sticky_posts','a:0:{}','on'),(77,'widget_categories','a:0:{}','on'),(78,'widget_text','a:0:{}','on'),(79,'widget_rss','a:0:{}','on'),(80,'uninstall_plugins','a:0:{}','off'),(81,'timezone_string','','on'),(82,'page_for_posts','0','on'),(83,'page_on_front','0','on'),(84,'default_post_format','0','on'),(85,'link_manager_enabled','0','on'),(86,'finished_splitting_shared_terms','1','on'),(87,'site_icon','0','on'),(88,'medium_large_size_w','768','on'),(89,'medium_large_size_h','0','on'),(90,'wp_page_for_privacy_policy','3','on'),(91,'show_comments_cookies_opt_in','1','on'),(92,'admin_email_lifespan','1758710467','on'),(93,'disallowed_keys','','off'),(94,'comment_previously_approved','1','on'),(95,'auto_plugin_theme_update_emails','a:0:{}','off'),(96,'auto_update_core_dev','enabled','on'),(97,'auto_update_core_minor','enabled','on'),(98,'auto_update_core_major','enabled','on'),(99,'wp_force_deactivated_plugins','a:0:{}','on'),(100,'wp_attachment_pages_enabled','0','on'),(101,'initial_db_version','58975','on'),(102,'wp_user_roles','a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:61:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}','on'),(103,'fresh_site','0','off'),(104,'user_count','1','off'),(105,'widget_block','a:6:{i:2;a:1:{s:7:\"content\";s:19:\"\";}i:3;a:1:{s:7:\"content\";s:154:\"

Recent Posts

\";}i:4;a:1:{s:7:\"content\";s:227:\"

Recent Comments

\";}i:5;a:1:{s:7:\"content\";s:146:\"

Archives

\";}i:6;a:1:{s:7:\"content\";s:150:\"

Categories

\";}s:12:\"_multiwidget\";i:1;}','auto'),(106,'sidebars_widgets','a:4:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:3:{i:0;s:7:\"block-2\";i:1;s:7:\"block-3\";i:2;s:7:\"block-4\";}s:9:\"sidebar-2\";a:2:{i:0;s:7:\"block-5\";i:1;s:7:\"block-6\";}s:13:\"array_version\";i:3;}','auto'),(107,'widget_pages','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(108,'widget_calendar','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(109,'widget_archives','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(110,'widget_media_audio','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(111,'widget_media_image','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(112,'widget_media_gallery','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(113,'widget_media_video','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(114,'widget_meta','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(115,'widget_search','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(116,'widget_recent-posts','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(117,'widget_recent-comments','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(118,'widget_tag_cloud','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(119,'widget_nav_menu','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(120,'widget_custom_html','a:1:{s:12:\"_multiwidget\";i:1;}','auto'),(121,'_transient_wp_core_block_css_files','a:2:{s:7:\"version\";s:5:\"6.7.2\";s:5:\"files\";a:540:{i:0;s:23:\"archives/editor-rtl.css\";i:1;s:27:\"archives/editor-rtl.min.css\";i:2;s:19:\"archives/editor.css\";i:3;s:23:\"archives/editor.min.css\";i:4;s:22:\"archives/style-rtl.css\";i:5;s:26:\"archives/style-rtl.min.css\";i:6;s:18:\"archives/style.css\";i:7;s:22:\"archives/style.min.css\";i:8;s:20:\"audio/editor-rtl.css\";i:9;s:24:\"audio/editor-rtl.min.css\";i:10;s:16:\"audio/editor.css\";i:11;s:20:\"audio/editor.min.css\";i:12;s:19:\"audio/style-rtl.css\";i:13;s:23:\"audio/style-rtl.min.css\";i:14;s:15:\"audio/style.css\";i:15;s:19:\"audio/style.min.css\";i:16;s:19:\"audio/theme-rtl.css\";i:17;s:23:\"audio/theme-rtl.min.css\";i:18;s:15:\"audio/theme.css\";i:19;s:19:\"audio/theme.min.css\";i:20;s:21:\"avatar/editor-rtl.css\";i:21;s:25:\"avatar/editor-rtl.min.css\";i:22;s:17:\"avatar/editor.css\";i:23;s:21:\"avatar/editor.min.css\";i:24;s:20:\"avatar/style-rtl.css\";i:25;s:24:\"avatar/style-rtl.min.css\";i:26;s:16:\"avatar/style.css\";i:27;s:20:\"avatar/style.min.css\";i:28;s:21:\"button/editor-rtl.css\";i:29;s:25:\"button/editor-rtl.min.css\";i:30;s:17:\"button/editor.css\";i:31;s:21:\"button/editor.min.css\";i:32;s:20:\"button/style-rtl.css\";i:33;s:24:\"button/style-rtl.min.css\";i:34;s:16:\"button/style.css\";i:35;s:20:\"button/style.min.css\";i:36;s:22:\"buttons/editor-rtl.css\";i:37;s:26:\"buttons/editor-rtl.min.css\";i:38;s:18:\"buttons/editor.css\";i:39;s:22:\"buttons/editor.min.css\";i:40;s:21:\"buttons/style-rtl.css\";i:41;s:25:\"buttons/style-rtl.min.css\";i:42;s:17:\"buttons/style.css\";i:43;s:21:\"buttons/style.min.css\";i:44;s:22:\"calendar/style-rtl.css\";i:45;s:26:\"calendar/style-rtl.min.css\";i:46;s:18:\"calendar/style.css\";i:47;s:22:\"calendar/style.min.css\";i:48;s:25:\"categories/editor-rtl.css\";i:49;s:29:\"categories/editor-rtl.min.css\";i:50;s:21:\"categories/editor.css\";i:51;s:25:\"categories/editor.min.css\";i:52;s:24:\"categories/style-rtl.css\";i:53;s:28:\"categories/style-rtl.min.css\";i:54;s:20:\"categories/style.css\";i:55;s:24:\"categories/style.min.css\";i:56;s:19:\"code/editor-rtl.css\";i:57;s:23:\"code/editor-rtl.min.css\";i:58;s:15:\"code/editor.css\";i:59;s:19:\"code/editor.min.css\";i:60;s:18:\"code/style-rtl.css\";i:61;s:22:\"code/style-rtl.min.css\";i:62;s:14:\"code/style.css\";i:63;s:18:\"code/style.min.css\";i:64;s:18:\"code/theme-rtl.css\";i:65;s:22:\"code/theme-rtl.min.css\";i:66;s:14:\"code/theme.css\";i:67;s:18:\"code/theme.min.css\";i:68;s:22:\"columns/editor-rtl.css\";i:69;s:26:\"columns/editor-rtl.min.css\";i:70;s:18:\"columns/editor.css\";i:71;s:22:\"columns/editor.min.css\";i:72;s:21:\"columns/style-rtl.css\";i:73;s:25:\"columns/style-rtl.min.css\";i:74;s:17:\"columns/style.css\";i:75;s:21:\"columns/style.min.css\";i:76;s:33:\"comment-author-name/style-rtl.css\";i:77;s:37:\"comment-author-name/style-rtl.min.css\";i:78;s:29:\"comment-author-name/style.css\";i:79;s:33:\"comment-author-name/style.min.css\";i:80;s:29:\"comment-content/style-rtl.css\";i:81;s:33:\"comment-content/style-rtl.min.css\";i:82;s:25:\"comment-content/style.css\";i:83;s:29:\"comment-content/style.min.css\";i:84;s:26:\"comment-date/style-rtl.css\";i:85;s:30:\"comment-date/style-rtl.min.css\";i:86;s:22:\"comment-date/style.css\";i:87;s:26:\"comment-date/style.min.css\";i:88;s:31:\"comment-edit-link/style-rtl.css\";i:89;s:35:\"comment-edit-link/style-rtl.min.css\";i:90;s:27:\"comment-edit-link/style.css\";i:91;s:31:\"comment-edit-link/style.min.css\";i:92;s:32:\"comment-reply-link/style-rtl.css\";i:93;s:36:\"comment-reply-link/style-rtl.min.css\";i:94;s:28:\"comment-reply-link/style.css\";i:95;s:32:\"comment-reply-link/style.min.css\";i:96;s:30:\"comment-template/style-rtl.css\";i:97;s:34:\"comment-template/style-rtl.min.css\";i:98;s:26:\"comment-template/style.css\";i:99;s:30:\"comment-template/style.min.css\";i:100;s:42:\"comments-pagination-numbers/editor-rtl.css\";i:101;s:46:\"comments-pagination-numbers/editor-rtl.min.css\";i:102;s:38:\"comments-pagination-numbers/editor.css\";i:103;s:42:\"comments-pagination-numbers/editor.min.css\";i:104;s:34:\"comments-pagination/editor-rtl.css\";i:105;s:38:\"comments-pagination/editor-rtl.min.css\";i:106;s:30:\"comments-pagination/editor.css\";i:107;s:34:\"comments-pagination/editor.min.css\";i:108;s:33:\"comments-pagination/style-rtl.css\";i:109;s:37:\"comments-pagination/style-rtl.min.css\";i:110;s:29:\"comments-pagination/style.css\";i:111;s:33:\"comments-pagination/style.min.css\";i:112;s:29:\"comments-title/editor-rtl.css\";i:113;s:33:\"comments-title/editor-rtl.min.css\";i:114;s:25:\"comments-title/editor.css\";i:115;s:29:\"comments-title/editor.min.css\";i:116;s:23:\"comments/editor-rtl.css\";i:117;s:27:\"comments/editor-rtl.min.css\";i:118;s:19:\"comments/editor.css\";i:119;s:23:\"comments/editor.min.css\";i:120;s:22:\"comments/style-rtl.css\";i:121;s:26:\"comments/style-rtl.min.css\";i:122;s:18:\"comments/style.css\";i:123;s:22:\"comments/style.min.css\";i:124;s:20:\"cover/editor-rtl.css\";i:125;s:24:\"cover/editor-rtl.min.css\";i:126;s:16:\"cover/editor.css\";i:127;s:20:\"cover/editor.min.css\";i:128;s:19:\"cover/style-rtl.css\";i:129;s:23:\"cover/style-rtl.min.css\";i:130;s:15:\"cover/style.css\";i:131;s:19:\"cover/style.min.css\";i:132;s:22:\"details/editor-rtl.css\";i:133;s:26:\"details/editor-rtl.min.css\";i:134;s:18:\"details/editor.css\";i:135;s:22:\"details/editor.min.css\";i:136;s:21:\"details/style-rtl.css\";i:137;s:25:\"details/style-rtl.min.css\";i:138;s:17:\"details/style.css\";i:139;s:21:\"details/style.min.css\";i:140;s:20:\"embed/editor-rtl.css\";i:141;s:24:\"embed/editor-rtl.min.css\";i:142;s:16:\"embed/editor.css\";i:143;s:20:\"embed/editor.min.css\";i:144;s:19:\"embed/style-rtl.css\";i:145;s:23:\"embed/style-rtl.min.css\";i:146;s:15:\"embed/style.css\";i:147;s:19:\"embed/style.min.css\";i:148;s:19:\"embed/theme-rtl.css\";i:149;s:23:\"embed/theme-rtl.min.css\";i:150;s:15:\"embed/theme.css\";i:151;s:19:\"embed/theme.min.css\";i:152;s:19:\"file/editor-rtl.css\";i:153;s:23:\"file/editor-rtl.min.css\";i:154;s:15:\"file/editor.css\";i:155;s:19:\"file/editor.min.css\";i:156;s:18:\"file/style-rtl.css\";i:157;s:22:\"file/style-rtl.min.css\";i:158;s:14:\"file/style.css\";i:159;s:18:\"file/style.min.css\";i:160;s:23:\"footnotes/style-rtl.css\";i:161;s:27:\"footnotes/style-rtl.min.css\";i:162;s:19:\"footnotes/style.css\";i:163;s:23:\"footnotes/style.min.css\";i:164;s:23:\"freeform/editor-rtl.css\";i:165;s:27:\"freeform/editor-rtl.min.css\";i:166;s:19:\"freeform/editor.css\";i:167;s:23:\"freeform/editor.min.css\";i:168;s:22:\"gallery/editor-rtl.css\";i:169;s:26:\"gallery/editor-rtl.min.css\";i:170;s:18:\"gallery/editor.css\";i:171;s:22:\"gallery/editor.min.css\";i:172;s:21:\"gallery/style-rtl.css\";i:173;s:25:\"gallery/style-rtl.min.css\";i:174;s:17:\"gallery/style.css\";i:175;s:21:\"gallery/style.min.css\";i:176;s:21:\"gallery/theme-rtl.css\";i:177;s:25:\"gallery/theme-rtl.min.css\";i:178;s:17:\"gallery/theme.css\";i:179;s:21:\"gallery/theme.min.css\";i:180;s:20:\"group/editor-rtl.css\";i:181;s:24:\"group/editor-rtl.min.css\";i:182;s:16:\"group/editor.css\";i:183;s:20:\"group/editor.min.css\";i:184;s:19:\"group/style-rtl.css\";i:185;s:23:\"group/style-rtl.min.css\";i:186;s:15:\"group/style.css\";i:187;s:19:\"group/style.min.css\";i:188;s:19:\"group/theme-rtl.css\";i:189;s:23:\"group/theme-rtl.min.css\";i:190;s:15:\"group/theme.css\";i:191;s:19:\"group/theme.min.css\";i:192;s:21:\"heading/style-rtl.css\";i:193;s:25:\"heading/style-rtl.min.css\";i:194;s:17:\"heading/style.css\";i:195;s:21:\"heading/style.min.css\";i:196;s:19:\"html/editor-rtl.css\";i:197;s:23:\"html/editor-rtl.min.css\";i:198;s:15:\"html/editor.css\";i:199;s:19:\"html/editor.min.css\";i:200;s:20:\"image/editor-rtl.css\";i:201;s:24:\"image/editor-rtl.min.css\";i:202;s:16:\"image/editor.css\";i:203;s:20:\"image/editor.min.css\";i:204;s:19:\"image/style-rtl.css\";i:205;s:23:\"image/style-rtl.min.css\";i:206;s:15:\"image/style.css\";i:207;s:19:\"image/style.min.css\";i:208;s:19:\"image/theme-rtl.css\";i:209;s:23:\"image/theme-rtl.min.css\";i:210;s:15:\"image/theme.css\";i:211;s:19:\"image/theme.min.css\";i:212;s:29:\"latest-comments/style-rtl.css\";i:213;s:33:\"latest-comments/style-rtl.min.css\";i:214;s:25:\"latest-comments/style.css\";i:215;s:29:\"latest-comments/style.min.css\";i:216;s:27:\"latest-posts/editor-rtl.css\";i:217;s:31:\"latest-posts/editor-rtl.min.css\";i:218;s:23:\"latest-posts/editor.css\";i:219;s:27:\"latest-posts/editor.min.css\";i:220;s:26:\"latest-posts/style-rtl.css\";i:221;s:30:\"latest-posts/style-rtl.min.css\";i:222;s:22:\"latest-posts/style.css\";i:223;s:26:\"latest-posts/style.min.css\";i:224;s:18:\"list/style-rtl.css\";i:225;s:22:\"list/style-rtl.min.css\";i:226;s:14:\"list/style.css\";i:227;s:18:\"list/style.min.css\";i:228;s:22:\"loginout/style-rtl.css\";i:229;s:26:\"loginout/style-rtl.min.css\";i:230;s:18:\"loginout/style.css\";i:231;s:22:\"loginout/style.min.css\";i:232;s:25:\"media-text/editor-rtl.css\";i:233;s:29:\"media-text/editor-rtl.min.css\";i:234;s:21:\"media-text/editor.css\";i:235;s:25:\"media-text/editor.min.css\";i:236;s:24:\"media-text/style-rtl.css\";i:237;s:28:\"media-text/style-rtl.min.css\";i:238;s:20:\"media-text/style.css\";i:239;s:24:\"media-text/style.min.css\";i:240;s:19:\"more/editor-rtl.css\";i:241;s:23:\"more/editor-rtl.min.css\";i:242;s:15:\"more/editor.css\";i:243;s:19:\"more/editor.min.css\";i:244;s:30:\"navigation-link/editor-rtl.css\";i:245;s:34:\"navigation-link/editor-rtl.min.css\";i:246;s:26:\"navigation-link/editor.css\";i:247;s:30:\"navigation-link/editor.min.css\";i:248;s:29:\"navigation-link/style-rtl.css\";i:249;s:33:\"navigation-link/style-rtl.min.css\";i:250;s:25:\"navigation-link/style.css\";i:251;s:29:\"navigation-link/style.min.css\";i:252;s:33:\"navigation-submenu/editor-rtl.css\";i:253;s:37:\"navigation-submenu/editor-rtl.min.css\";i:254;s:29:\"navigation-submenu/editor.css\";i:255;s:33:\"navigation-submenu/editor.min.css\";i:256;s:25:\"navigation/editor-rtl.css\";i:257;s:29:\"navigation/editor-rtl.min.css\";i:258;s:21:\"navigation/editor.css\";i:259;s:25:\"navigation/editor.min.css\";i:260;s:24:\"navigation/style-rtl.css\";i:261;s:28:\"navigation/style-rtl.min.css\";i:262;s:20:\"navigation/style.css\";i:263;s:24:\"navigation/style.min.css\";i:264;s:23:\"nextpage/editor-rtl.css\";i:265;s:27:\"nextpage/editor-rtl.min.css\";i:266;s:19:\"nextpage/editor.css\";i:267;s:23:\"nextpage/editor.min.css\";i:268;s:24:\"page-list/editor-rtl.css\";i:269;s:28:\"page-list/editor-rtl.min.css\";i:270;s:20:\"page-list/editor.css\";i:271;s:24:\"page-list/editor.min.css\";i:272;s:23:\"page-list/style-rtl.css\";i:273;s:27:\"page-list/style-rtl.min.css\";i:274;s:19:\"page-list/style.css\";i:275;s:23:\"page-list/style.min.css\";i:276;s:24:\"paragraph/editor-rtl.css\";i:277;s:28:\"paragraph/editor-rtl.min.css\";i:278;s:20:\"paragraph/editor.css\";i:279;s:24:\"paragraph/editor.min.css\";i:280;s:23:\"paragraph/style-rtl.css\";i:281;s:27:\"paragraph/style-rtl.min.css\";i:282;s:19:\"paragraph/style.css\";i:283;s:23:\"paragraph/style.min.css\";i:284;s:35:\"post-author-biography/style-rtl.css\";i:285;s:39:\"post-author-biography/style-rtl.min.css\";i:286;s:31:\"post-author-biography/style.css\";i:287;s:35:\"post-author-biography/style.min.css\";i:288;s:30:\"post-author-name/style-rtl.css\";i:289;s:34:\"post-author-name/style-rtl.min.css\";i:290;s:26:\"post-author-name/style.css\";i:291;s:30:\"post-author-name/style.min.css\";i:292;s:26:\"post-author/editor-rtl.css\";i:293;s:30:\"post-author/editor-rtl.min.css\";i:294;s:22:\"post-author/editor.css\";i:295;s:26:\"post-author/editor.min.css\";i:296;s:25:\"post-author/style-rtl.css\";i:297;s:29:\"post-author/style-rtl.min.css\";i:298;s:21:\"post-author/style.css\";i:299;s:25:\"post-author/style.min.css\";i:300;s:33:\"post-comments-form/editor-rtl.css\";i:301;s:37:\"post-comments-form/editor-rtl.min.css\";i:302;s:29:\"post-comments-form/editor.css\";i:303;s:33:\"post-comments-form/editor.min.css\";i:304;s:32:\"post-comments-form/style-rtl.css\";i:305;s:36:\"post-comments-form/style-rtl.min.css\";i:306;s:28:\"post-comments-form/style.css\";i:307;s:32:\"post-comments-form/style.min.css\";i:308;s:27:\"post-content/editor-rtl.css\";i:309;s:31:\"post-content/editor-rtl.min.css\";i:310;s:23:\"post-content/editor.css\";i:311;s:27:\"post-content/editor.min.css\";i:312;s:26:\"post-content/style-rtl.css\";i:313;s:30:\"post-content/style-rtl.min.css\";i:314;s:22:\"post-content/style.css\";i:315;s:26:\"post-content/style.min.css\";i:316;s:23:\"post-date/style-rtl.css\";i:317;s:27:\"post-date/style-rtl.min.css\";i:318;s:19:\"post-date/style.css\";i:319;s:23:\"post-date/style.min.css\";i:320;s:27:\"post-excerpt/editor-rtl.css\";i:321;s:31:\"post-excerpt/editor-rtl.min.css\";i:322;s:23:\"post-excerpt/editor.css\";i:323;s:27:\"post-excerpt/editor.min.css\";i:324;s:26:\"post-excerpt/style-rtl.css\";i:325;s:30:\"post-excerpt/style-rtl.min.css\";i:326;s:22:\"post-excerpt/style.css\";i:327;s:26:\"post-excerpt/style.min.css\";i:328;s:34:\"post-featured-image/editor-rtl.css\";i:329;s:38:\"post-featured-image/editor-rtl.min.css\";i:330;s:30:\"post-featured-image/editor.css\";i:331;s:34:\"post-featured-image/editor.min.css\";i:332;s:33:\"post-featured-image/style-rtl.css\";i:333;s:37:\"post-featured-image/style-rtl.min.css\";i:334;s:29:\"post-featured-image/style.css\";i:335;s:33:\"post-featured-image/style.min.css\";i:336;s:34:\"post-navigation-link/style-rtl.css\";i:337;s:38:\"post-navigation-link/style-rtl.min.css\";i:338;s:30:\"post-navigation-link/style.css\";i:339;s:34:\"post-navigation-link/style.min.css\";i:340;s:28:\"post-template/editor-rtl.css\";i:341;s:32:\"post-template/editor-rtl.min.css\";i:342;s:24:\"post-template/editor.css\";i:343;s:28:\"post-template/editor.min.css\";i:344;s:27:\"post-template/style-rtl.css\";i:345;s:31:\"post-template/style-rtl.min.css\";i:346;s:23:\"post-template/style.css\";i:347;s:27:\"post-template/style.min.css\";i:348;s:24:\"post-terms/style-rtl.css\";i:349;s:28:\"post-terms/style-rtl.min.css\";i:350;s:20:\"post-terms/style.css\";i:351;s:24:\"post-terms/style.min.css\";i:352;s:24:\"post-title/style-rtl.css\";i:353;s:28:\"post-title/style-rtl.min.css\";i:354;s:20:\"post-title/style.css\";i:355;s:24:\"post-title/style.min.css\";i:356;s:26:\"preformatted/style-rtl.css\";i:357;s:30:\"preformatted/style-rtl.min.css\";i:358;s:22:\"preformatted/style.css\";i:359;s:26:\"preformatted/style.min.css\";i:360;s:24:\"pullquote/editor-rtl.css\";i:361;s:28:\"pullquote/editor-rtl.min.css\";i:362;s:20:\"pullquote/editor.css\";i:363;s:24:\"pullquote/editor.min.css\";i:364;s:23:\"pullquote/style-rtl.css\";i:365;s:27:\"pullquote/style-rtl.min.css\";i:366;s:19:\"pullquote/style.css\";i:367;s:23:\"pullquote/style.min.css\";i:368;s:23:\"pullquote/theme-rtl.css\";i:369;s:27:\"pullquote/theme-rtl.min.css\";i:370;s:19:\"pullquote/theme.css\";i:371;s:23:\"pullquote/theme.min.css\";i:372;s:39:\"query-pagination-numbers/editor-rtl.css\";i:373;s:43:\"query-pagination-numbers/editor-rtl.min.css\";i:374;s:35:\"query-pagination-numbers/editor.css\";i:375;s:39:\"query-pagination-numbers/editor.min.css\";i:376;s:31:\"query-pagination/editor-rtl.css\";i:377;s:35:\"query-pagination/editor-rtl.min.css\";i:378;s:27:\"query-pagination/editor.css\";i:379;s:31:\"query-pagination/editor.min.css\";i:380;s:30:\"query-pagination/style-rtl.css\";i:381;s:34:\"query-pagination/style-rtl.min.css\";i:382;s:26:\"query-pagination/style.css\";i:383;s:30:\"query-pagination/style.min.css\";i:384;s:25:\"query-title/style-rtl.css\";i:385;s:29:\"query-title/style-rtl.min.css\";i:386;s:21:\"query-title/style.css\";i:387;s:25:\"query-title/style.min.css\";i:388;s:20:\"query/editor-rtl.css\";i:389;s:24:\"query/editor-rtl.min.css\";i:390;s:16:\"query/editor.css\";i:391;s:20:\"query/editor.min.css\";i:392;s:19:\"quote/style-rtl.css\";i:393;s:23:\"quote/style-rtl.min.css\";i:394;s:15:\"quote/style.css\";i:395;s:19:\"quote/style.min.css\";i:396;s:19:\"quote/theme-rtl.css\";i:397;s:23:\"quote/theme-rtl.min.css\";i:398;s:15:\"quote/theme.css\";i:399;s:19:\"quote/theme.min.css\";i:400;s:23:\"read-more/style-rtl.css\";i:401;s:27:\"read-more/style-rtl.min.css\";i:402;s:19:\"read-more/style.css\";i:403;s:23:\"read-more/style.min.css\";i:404;s:18:\"rss/editor-rtl.css\";i:405;s:22:\"rss/editor-rtl.min.css\";i:406;s:14:\"rss/editor.css\";i:407;s:18:\"rss/editor.min.css\";i:408;s:17:\"rss/style-rtl.css\";i:409;s:21:\"rss/style-rtl.min.css\";i:410;s:13:\"rss/style.css\";i:411;s:17:\"rss/style.min.css\";i:412;s:21:\"search/editor-rtl.css\";i:413;s:25:\"search/editor-rtl.min.css\";i:414;s:17:\"search/editor.css\";i:415;s:21:\"search/editor.min.css\";i:416;s:20:\"search/style-rtl.css\";i:417;s:24:\"search/style-rtl.min.css\";i:418;s:16:\"search/style.css\";i:419;s:20:\"search/style.min.css\";i:420;s:20:\"search/theme-rtl.css\";i:421;s:24:\"search/theme-rtl.min.css\";i:422;s:16:\"search/theme.css\";i:423;s:20:\"search/theme.min.css\";i:424;s:24:\"separator/editor-rtl.css\";i:425;s:28:\"separator/editor-rtl.min.css\";i:426;s:20:\"separator/editor.css\";i:427;s:24:\"separator/editor.min.css\";i:428;s:23:\"separator/style-rtl.css\";i:429;s:27:\"separator/style-rtl.min.css\";i:430;s:19:\"separator/style.css\";i:431;s:23:\"separator/style.min.css\";i:432;s:23:\"separator/theme-rtl.css\";i:433;s:27:\"separator/theme-rtl.min.css\";i:434;s:19:\"separator/theme.css\";i:435;s:23:\"separator/theme.min.css\";i:436;s:24:\"shortcode/editor-rtl.css\";i:437;s:28:\"shortcode/editor-rtl.min.css\";i:438;s:20:\"shortcode/editor.css\";i:439;s:24:\"shortcode/editor.min.css\";i:440;s:24:\"site-logo/editor-rtl.css\";i:441;s:28:\"site-logo/editor-rtl.min.css\";i:442;s:20:\"site-logo/editor.css\";i:443;s:24:\"site-logo/editor.min.css\";i:444;s:23:\"site-logo/style-rtl.css\";i:445;s:27:\"site-logo/style-rtl.min.css\";i:446;s:19:\"site-logo/style.css\";i:447;s:23:\"site-logo/style.min.css\";i:448;s:27:\"site-tagline/editor-rtl.css\";i:449;s:31:\"site-tagline/editor-rtl.min.css\";i:450;s:23:\"site-tagline/editor.css\";i:451;s:27:\"site-tagline/editor.min.css\";i:452;s:26:\"site-tagline/style-rtl.css\";i:453;s:30:\"site-tagline/style-rtl.min.css\";i:454;s:22:\"site-tagline/style.css\";i:455;s:26:\"site-tagline/style.min.css\";i:456;s:25:\"site-title/editor-rtl.css\";i:457;s:29:\"site-title/editor-rtl.min.css\";i:458;s:21:\"site-title/editor.css\";i:459;s:25:\"site-title/editor.min.css\";i:460;s:24:\"site-title/style-rtl.css\";i:461;s:28:\"site-title/style-rtl.min.css\";i:462;s:20:\"site-title/style.css\";i:463;s:24:\"site-title/style.min.css\";i:464;s:26:\"social-link/editor-rtl.css\";i:465;s:30:\"social-link/editor-rtl.min.css\";i:466;s:22:\"social-link/editor.css\";i:467;s:26:\"social-link/editor.min.css\";i:468;s:27:\"social-links/editor-rtl.css\";i:469;s:31:\"social-links/editor-rtl.min.css\";i:470;s:23:\"social-links/editor.css\";i:471;s:27:\"social-links/editor.min.css\";i:472;s:26:\"social-links/style-rtl.css\";i:473;s:30:\"social-links/style-rtl.min.css\";i:474;s:22:\"social-links/style.css\";i:475;s:26:\"social-links/style.min.css\";i:476;s:21:\"spacer/editor-rtl.css\";i:477;s:25:\"spacer/editor-rtl.min.css\";i:478;s:17:\"spacer/editor.css\";i:479;s:21:\"spacer/editor.min.css\";i:480;s:20:\"spacer/style-rtl.css\";i:481;s:24:\"spacer/style-rtl.min.css\";i:482;s:16:\"spacer/style.css\";i:483;s:20:\"spacer/style.min.css\";i:484;s:20:\"table/editor-rtl.css\";i:485;s:24:\"table/editor-rtl.min.css\";i:486;s:16:\"table/editor.css\";i:487;s:20:\"table/editor.min.css\";i:488;s:19:\"table/style-rtl.css\";i:489;s:23:\"table/style-rtl.min.css\";i:490;s:15:\"table/style.css\";i:491;s:19:\"table/style.min.css\";i:492;s:19:\"table/theme-rtl.css\";i:493;s:23:\"table/theme-rtl.min.css\";i:494;s:15:\"table/theme.css\";i:495;s:19:\"table/theme.min.css\";i:496;s:24:\"tag-cloud/editor-rtl.css\";i:497;s:28:\"tag-cloud/editor-rtl.min.css\";i:498;s:20:\"tag-cloud/editor.css\";i:499;s:24:\"tag-cloud/editor.min.css\";i:500;s:23:\"tag-cloud/style-rtl.css\";i:501;s:27:\"tag-cloud/style-rtl.min.css\";i:502;s:19:\"tag-cloud/style.css\";i:503;s:23:\"tag-cloud/style.min.css\";i:504;s:28:\"template-part/editor-rtl.css\";i:505;s:32:\"template-part/editor-rtl.min.css\";i:506;s:24:\"template-part/editor.css\";i:507;s:28:\"template-part/editor.min.css\";i:508;s:27:\"template-part/theme-rtl.css\";i:509;s:31:\"template-part/theme-rtl.min.css\";i:510;s:23:\"template-part/theme.css\";i:511;s:27:\"template-part/theme.min.css\";i:512;s:30:\"term-description/style-rtl.css\";i:513;s:34:\"term-description/style-rtl.min.css\";i:514;s:26:\"term-description/style.css\";i:515;s:30:\"term-description/style.min.css\";i:516;s:27:\"text-columns/editor-rtl.css\";i:517;s:31:\"text-columns/editor-rtl.min.css\";i:518;s:23:\"text-columns/editor.css\";i:519;s:27:\"text-columns/editor.min.css\";i:520;s:26:\"text-columns/style-rtl.css\";i:521;s:30:\"text-columns/style-rtl.min.css\";i:522;s:22:\"text-columns/style.css\";i:523;s:26:\"text-columns/style.min.css\";i:524;s:19:\"verse/style-rtl.css\";i:525;s:23:\"verse/style-rtl.min.css\";i:526;s:15:\"verse/style.css\";i:527;s:19:\"verse/style.min.css\";i:528;s:20:\"video/editor-rtl.css\";i:529;s:24:\"video/editor-rtl.min.css\";i:530;s:16:\"video/editor.css\";i:531;s:20:\"video/editor.min.css\";i:532;s:19:\"video/style-rtl.css\";i:533;s:23:\"video/style-rtl.min.css\";i:534;s:15:\"video/style.css\";i:535;s:19:\"video/style.min.css\";i:536;s:19:\"video/theme-rtl.css\";i:537;s:23:\"video/theme-rtl.min.css\";i:538;s:15:\"video/theme.css\";i:539;s:19:\"video/theme.min.css\";}}','on'),(125,'recovery_keys','a:0:{}','off'),(126,'WPLANG','','auto'),(127,'_site_transient_update_core','O:8:\"stdClass\":4:{s:7:\"updates\";a:1:{i:0;O:8:\"stdClass\":10:{s:8:\"response\";s:6:\"latest\";s:8:\"download\";s:59:\"https://downloads.wordpress.org/release/wordpress-6.7.2.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:59:\"https://downloads.wordpress.org/release/wordpress-6.7.2.zip\";s:10:\"no_content\";s:70:\"https://downloads.wordpress.org/release/wordpress-6.7.2-no-content.zip\";s:11:\"new_bundled\";s:71:\"https://downloads.wordpress.org/release/wordpress-6.7.2-new-bundled.zip\";s:7:\"partial\";s:0:\"\";s:8:\"rollback\";s:0:\"\";}s:7:\"current\";s:5:\"6.7.2\";s:7:\"version\";s:5:\"6.7.2\";s:11:\"php_version\";s:6:\"7.2.24\";s:13:\"mysql_version\";s:5:\"5.5.5\";s:11:\"new_bundled\";s:3:\"6.7\";s:15:\"partial_version\";s:0:\"\";}}s:12:\"last_checked\";i:1743163551;s:15:\"version_checked\";s:5:\"6.7.2\";s:12:\"translations\";a:0:{}}','off'),(132,'_site_transient_timeout_browser_b977e10d1cb26107909e97d51a688323','1743763286','off'),(133,'_site_transient_browser_b977e10d1cb26107909e97d51a688323','a:10:{s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:9:\"134.0.0.0\";s:8:\"platform\";s:9:\"Macintosh\";s:10:\"update_url\";s:29:\"https://www.google.com/chrome\";s:7:\"img_src\";s:43:\"http://s.w.org/images/browsers/chrome.png?1\";s:11:\"img_src_ssl\";s:44:\"https://s.w.org/images/browsers/chrome.png?1\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;s:6:\"mobile\";b:0;}','off'),(134,'_site_transient_timeout_php_check_a34f4a08303dd29cee70e79d780daa9d','1743763286','off'),(135,'_site_transient_php_check_a34f4a08303dd29cee70e79d780daa9d','a:5:{s:19:\"recommended_version\";s:3:\"7.4\";s:15:\"minimum_version\";s:6:\"7.2.24\";s:12:\"is_supported\";b:1;s:9:\"is_secure\";b:1;s:13:\"is_acceptable\";b:1;}','off'),(137,'_site_transient_timeout_community-events-d41d8cd98f00b204e9800998ecf8427e','1743206670','off'),(138,'_site_transient_community-events-d41d8cd98f00b204e9800998ecf8427e','a:4:{s:9:\"sandboxed\";b:0;s:5:\"error\";N;s:8:\"location\";a:1:{s:2:\"ip\";b:0;}s:6:\"events\";a:3:{i:0;a:10:{s:4:\"type\";s:6:\"meetup\";s:5:\"title\";s:26:\"WordUp Warszawa 01.04.2025\";s:3:\"url\";s:46:\"https://www.meetup.com/wordup/events/306754170\";s:6:\"meetup\";s:15:\"WordUp Warszawa\";s:10:\"meetup_url\";s:30:\"https://www.meetup.com/wordup/\";s:4:\"date\";s:19:\"2025-04-01 18:00:00\";s:8:\"end_date\";s:19:\"2025-04-01 22:00:00\";s:20:\"start_unix_timestamp\";i:1743523200;s:18:\"end_unix_timestamp\";i:1743537600;s:8:\"location\";a:4:{s:8:\"location\";s:16:\"Warszawa, Poland\";s:7:\"country\";s:2:\"PL\";s:8:\"latitude\";d:52.224530000000001;s:9:\"longitude\";d:21.015460000000001;}}i:1;a:10:{s:4:\"type\";s:8:\"wordcamp\";s:5:\"title\";s:24:\"WordCamp Kraków, Poland\";s:3:\"url\";s:33:\"https://krakow.wordcamp.org/2025/\";s:6:\"meetup\";N;s:10:\"meetup_url\";N;s:4:\"date\";s:19:\"2025-06-27 00:00:00\";s:8:\"end_date\";s:19:\"2025-06-29 00:00:00\";s:20:\"start_unix_timestamp\";i:1750975200;s:18:\"end_unix_timestamp\";i:1751148000;s:8:\"location\";a:4:{s:8:\"location\";s:15:\"Kraków, Poland\";s:7:\"country\";s:2:\"PL\";s:8:\"latitude\";d:50.071798000000001;s:9:\"longitude\";d:19.939965000000001;}}i:2;a:10:{s:4:\"type\";s:8:\"wordcamp\";s:5:\"title\";s:18:\"WordCamp Lithuania\";s:3:\"url\";s:36:\"https://lithuania.wordcamp.org/2025/\";s:6:\"meetup\";N;s:10:\"meetup_url\";N;s:4:\"date\";s:19:\"2025-09-25 00:00:00\";s:8:\"end_date\";s:19:\"2025-09-26 00:00:00\";s:20:\"start_unix_timestamp\";i:1758747600;s:18:\"end_unix_timestamp\";i:1758834000;s:8:\"location\";a:4:{s:8:\"location\";s:6:\"Kaunas\";s:7:\"country\";s:2:\"LT\";s:8:\"latitude\";d:54.899647000000002;s:9:\"longitude\";d:23.961511399999999;}}}}','off'),(139,'can_compress_scripts','0','on'),(140,'_transient_timeout_feed_9bbd59226dc36b9b26cd43f15694c5c3','1743201687','off'),(141,'_transient_feed_9bbd59226dc36b9b26cd43f15694c5c3','a:6:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:52:\"\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:8:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"https://wordpress.org/news\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"The latest news about WordPress and the WordPress community\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:13:\"lastBuildDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Mar 2025 13:21:47 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"https://wordpress.org/?v=6.8-alpha-59827\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:5:\"image\";a:1:{i:0;a:6:{s:4:\"data\";s:11:\"\n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:3:\"url\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"https://s.w.org/favicon.ico?2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"https://wordpress.org/news\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:5:\"width\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"32\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:6:\"height\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"32\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}s:4:\"item\";a:10:{i:0;a:6:{s:4:\"data\";s:69:\"\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WordPress 6.8 Release Candidate 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/news/2025/03/wordpress-6-8-release-candidate-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Mar 2025 16:19:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18639\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:267:\"WordPress 6.8 RC 1 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing over the next three weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:9280:\"\n

The first Release Candidate (“RC1”) for WordPress 6.8 is ready for download and testing!

\n\n\n\n

This version of the WordPress software is under development.  Please do not install, run, or test this version of WordPress on production or mission-critical websites.  Instead, it’s recommended that you evaluate RC1 on a test server and site.

\n\n\n\n

Reaching this phase of the release cycle is an important milestone.  While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.

\n\n\n\n

You can test WordPress 6.8 RC1 in four ways:

\n\n\n\n
PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install.  (Select the “Bleeding edge” channel and “Beta/RC Only” stream).
Direct DownloadDownload the RC1 version (zip) and install it on a WordPress website.
Command LineUse the following WP-CLI command: wp core update --version=6.8-RC1
WordPress PlaygroundUse the 6.8 RC1 WordPress Playground instance (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.
\n\n\n\n

The current target for the WordPress 6.8 release is April 15, 2025.  Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for further details.

\n\n\n\n

What’s in WordPress 6.8 RC1?

\n\n\n\n

Get a recap of WordPress 6.8’s highlighted features in the Beta 1 announcement.  For more technical information related to issues addressed since Beta 3, you can browse the following links:

\n\n\n\n\n\n\n\n

Want to look deeper into the details and technical notes for this release? These recent posts cover some of the latest updates:

\n\n\n\n\n\n\n\n

How you can contribute

\n\n\n\n

WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development.  The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.

\n\n\n\n

Get involved in testing

\n\n\n\n

Testing for issues is critical to ensuring WordPress is performant and stable.  It’s also a meaningful way for anyone to contribute.  This detailed guide will walk you through testing features in WordPress 6.8.  For those new to testing, follow this general testing guide for more details on getting set up.

\n\n\n\n

If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report.  You can also check your issue against a list of known bugs.

\n\n\n\n

Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

Search for vulnerabilities

\n\n\n\n

From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the monetary reward for reporting new, unreleased security vulnerabilities is doubled.  Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

\n\n\n\n

Update your theme or plugin

\n\n\n\n

For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.

\n\n\n\n

Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases.  With RC1, you’ll want to conclude your testing and update the “Tested up to” version in your plugin’s readme file to 6.8.

\n\n\n\n

If you find compatibility issues, please post detailed information to the support forum.

\n\n\n\n

Help translate WordPress

\n\n\n\n

Do you speak a language other than English?  ¿Español?  Français?  Русский?  日本語? हिन्दी? বাংলা? मराठी?  You can help translate WordPress into more than 100 languages.  This release milestone (RC1) also marks the hard string freeze point of the 6.8 release cycle.

\n\n\n\n

An RC1 haiku

\n\n\n\n

March fades, nearly there,
Six-eight hums—a steady beat,
RC greets the world.

\n\n\n\n

Thank you to the following contributors for collaborating on this post: @joemcgill @benjamin_zekavica @courane01 @mkrndmane @audrasjb @areziaal @ankit-k-gupta @krupajnanda @bph.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18639\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:69:\"\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 6.8 Beta 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 15:35:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18634\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:289:\"WordPress 6.8 Beta 3 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing Beta and RC versions over the next four weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:5627:\"\n

WordPress 6.8 Beta 3 is now ready for testing!

\n\n\n\n

This beta version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it is recommended you evaluate Beta 3 on a test server and site.

\n\n\n\n

You can test WordPress 6.8 Beta 3 in four ways:

\n\n\n\n
PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install.  (Select the “Bleeding edge” channel and “Beta/RC Only” stream).
Direct DownloadDownload the Beta 3 version (zip) and install it on a WordPress website.
Command LineUse the following WP-CLI command: wp core update --version=6.8-beta3
WordPress PlaygroundUse the 6.8 Beta 3 WordPress Playground instance to test the software directly in your browser without the need for a separate site or setup.
\n\n\n\n

The current target date for the final release of WordPress 6.8 is April 15, 2025. Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for more information.

\n\n\n\n

Catch up on what’s new in WordPress 6.8: Read the Beta 1 and Beta 2 announcements for details and highlights.

\n\n\n\n

How to test this release

\n\n\n\n

Your help testing the WordPress 6.8 Beta 3 version is key to ensuring everything in the release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This detailed guide will walk you through testing features in WordPress 6.8.

\n\n\n\n

If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report. You can also check your issue against a list of known bugs.

\n\n\n\n

Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

Vulnerability bounty doubles during Beta/RC

\n\n\n\n

Between Beta 1, released on March 4, 2025, and the final Release Candidate (RC) scheduled for April 8, 2025, the monetary reward for reporting new, unreleased security vulnerabilities is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

\n\n\n\n

Beta 3 updates and highlights

\n\n\n\n

WordPress 6.8 Beta 3 contains more than 3 Editor updates and fixes since the Beta 2 release, including 16 tickets for WordPress core.

\n\n\n\n

Each beta cycle focuses on bug fixes; more are on the way with your help through testing. You can browse the technical details for all issues addressed since Beta 3 using these links:

\n\n\n\n\n\n\n\n

A Beta 3 haiku

\n\n\n\n

Beta three refines,
WordPress shapes with steady hands,
Code grows into form.

\n\n\n\n

Props to @benjamin_zekavica @krupajnanda @ankit-k-gupta @joemcgill for proofreading and review.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18634\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:69:\"\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 6.8 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Mar 2025 15:46:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18619\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:289:\"WordPress 6.8 Beta 2 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing Beta and RC versions over the next five weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:5940:\"\n

WordPress 6.8 Beta 2 is now ready for testing!

\n\n\n\n

This beta version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites.  Instead, you should evaluate Beta 2 on a test server and site.

\n\n\n\n

You can test WordPress 6.8 Beta 2 in four ways:

\n\n\n\n
PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream.)
Direct DownloadDownload the Beta 2 version (zip) and install it on a WordPress website.
Command LineUse this WP-CLI command: wp core update --version=6.8-beta2
WordPress PlaygroundUse the 6.8 Beta 2 WordPress Playground instance to test the software directly in your browser.  No setup is required–just click and go! 
\n\n\n\n

The current target date for the final release of WordPress 6.8 is April 15, 2025. Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for more information.

\n\n\n\n

Catch up on what’s new in WordPress 6.8: Read the Beta 1 announcement for details and highlights.

\n\n\n\n

How to test this release

\n\n\n\n

Your help testing the WordPress 6.8 Beta 2 version is key to ensuring everything in the release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important.  This detailed guide will walk you through testing features in WordPress 6.8.

\n\n\n\n

If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report. You can also check your issue against a list of known bugs.

\n\n\n\n

Curious about testing releases in general? Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

Vulnerability bounty doubles during Beta/RC

\n\n\n\n

Between Beta 1, released on March 4, 2025, and the final Release Candidate (RC) scheduled for April 8, 2025, the monetary reward for reporting new, unreleased security vulnerabilities is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

\n\n\n\n

Beta 2 updates and highlights

\n\n\n\n

WordPress 6.8 Beta 2 contains more than 14 Editor updates and fixes since the Beta 1 release, including 21 tickets for WordPress core.

\n\n\n\n

Each beta cycle focuses on bug fixes; more are on the way with your help through testing. You can browse the technical details for all issues addressed since Beta 1 using these links:

\n\n\n\n\n\n\n\n

A Beta 2 haiku

\n\n\n\n

Second wave refines,
Lines of code like rivers flow,
WordPress finds its form.

\n\n\n\n

Props to @ankitkumarshah @vgnavada @krupajnanda @michelleames @audrasjb @marybaum @ecgan for proofreading and review.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18619\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:69:\"\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 6.8 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 04 Mar 2025 17:09:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18582\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:288:\"WordPress 6.8 Beta 1 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing Beta and RC versions over the next six weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:10596:\"\n

WordPress 6.8 Beta 1 is ready for download and testing!

\n\n\n\n

This beta version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, set up a test environment or a local site to explore the new features.

\n\n\n\n

How to Test WordPress 6.8 Beta 1

\n\n\n\n

You can test this beta release in any of the following ways: 

\n\n\n\n
WordPress Beta Tester PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install. Select the “Bleeding edge” channel and “Beta/RC Only” stream.
Direct DownloadDownload the Beta 1 version (zip) and install it on a WordPress website.
Command Line (WP-CLI)Use this WP-CLI command: wp core update --version=6.8-beta1
WordPress PlaygroundUse a 6.8 Beta 1 WordPress Playground instance to test the software directly in your browser. No setup required–-just click and go!
\n\n\n\n

The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing Beta and RC versions over the next six weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.

\n\n\n\n

How important is your testing?

\n\n\n\n

Testing for issues is a critical part of developing any software, and it’s a meaningful way for anyone to contribute—whether or not you have experience.  Details on what to test in WordPress 6.8 are here.

\n\n\n\n

If you encounter an issue, please share it in the Alpha/Beta area of the support forums. If you are comfortable submitting a reproducible bug report, you can do so via WordPress Trac. You can also check your issue against this list of known bugs.

\n\n\n\n

Curious about testing releases in general and how to get started? Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

WordPress 6.8 will include many new features that were previously only available in the Gutenberg plugin. Learn more about Gutenberg updates since WordPress 6.7 in the What’s New in Gutenberg posts for versions 19.4, 19.5, 19.6, 19.7, 19.8, 19.9, 20.0, 20.1, 20.2, 20.3, and 20.4.

\n\n\n\n

What’s New in WordPress 6.8 Beta 1

\n\n\n\n

This is a polish release, with user enhancements throughout incorporated into the latest Gutenberg updates. WordPress 6.8 brings a luster and gloss that only a polish release can.

\n\n\n\n

WordPress 6.8 Beta 1 contains over 370 enhancements and 520 bug fixes for the editor, including design improvements, polishing the query loop, and more than 230 tickets for WordPress 6.8 Core. Here’s a glimpse of what’s coming:

\n\n\n\n

Editor improvements

\n\n\n\n

Easier ways to see your options in Data Views, and you can opt to ignore sticky posts in the Query Loop. Plus you’ll find lots of little improvements in the editor!

\n\n\n\n

The Style Book comes to Classic themes

\n\n\n\n

The Style Book now features a structured layout so you can preview site colors, typography, and block styles more easily. You can use the Style Book in classic themes with editor-styles or a theme.json file and includes clearer labels, and you can find them under Appearance > Design.

\n\n\n\n

Support for Speculation browser API

\n\n\n\n

WordPress 6.8 introduces native support for speculative loading, leveraging the Speculation Rules API to improve site performance with near-instant page loads. This feature prefetches or prerenders URLs based on user interactions, such as hovering over links, reducing load times for subsequent pages.

\n\n\n\n

By default, WordPress 6.8 applies a conservative prefetching strategy, balancing performance gains with resource efficiency. Developers can customize speculative loading behavior using new filters, since the API does not include UI-based controls. The existing Speculative Loading feature plugin will adapt to the core implementation, allowing deeper customization.  Please test this feature in supported browsers (currently Chrome 108+ and Edge 108+, with more browsers evaluating) and provide feedback on #62503 to help refine its implementation.

\n\n\n\n

Major security boost

\n\n\n\n

WordPress 6.8 will use bcrypt for password hashing, which significantly hardens WordPress. Other hashing is getting hardened, too, throughout the security apparatus. You won’t have to change anything in your daily workflow.

\n\n\n\n

The features included in this first beta may change before the final release of WordPress 6.8, based on what testers like you find.

\n\n\n\n

Get an overview of the 6.8 release cycle and check the Make WordPress Core blog for 6.8-related posts in the next few weeks for further details.

\n\n\n\n

Caveat on testing 6.8 Beta 1 in versions older than 5.1

\n\n\n\n

Due to an update made to the upgrade routine during this release, (see r59803), any upgrade from versions older than 5.1 will fail. Folks are working to resolve this specific issue, so please hold off on reporting on this while testing the Beta 1 release.

\n\n\n\n

Vulnerability bounty doubles during Beta & Release Candidate

\n\n\n\n

The WordPress community sponsors a monetary reward for reporting new, unreleased security vulnerabilities. This reward doubles during the period between Beta 1 on March 4, 2025 and the final Release Candidate (RC) scheduled for April 15, 2025. Please follow responsible disclosure practices as detailed in the project’s security practices and policies. You can find those on the HackerOne page and in the security white paper.

\n\n\n\n

Just for you: a Beta 1 haiku

\n\n\n\n

March winds shift the tide.
Hands unite in open source;
WordPress moves ahead.

\n\n\n\n

Props to @audrasjb @marybaum @mamaduka @michelleames @bph @jorbin @joemcgill @krupajnanda @desrosj @benjamin_zekavica @lysyjan87 for reviewing and collaborating on this post!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18582\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:60:\"\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:38:\"Shaping Tomorrow at WordCamp Asia 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:74:\"https://wordpress.org/news/2025/02/shaping-tomorrow-at-wordcamp-asia-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 22 Feb 2025 15:04:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:6:\"Events\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"WordCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18515\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:394:\"Over 1,400 attendees from 71 countries gathered at the Philippine International Convention Center in Manila, and nearly 15,000 more joined online, for WordCamp Asia 2025. It’s the people. It’s the friendships and the stories. Matt Mullenweg, WordPress Cofounder The flagship WordPress event started with a dedicated Contributor Day, followed by two days of engaging talks, […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Nicholas Garofalo\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:56717:\"\n
\"WordCamp
\n\n\n\n

Over 1,400 attendees from 71 countries gathered at the Philippine International Convention Center in Manila, and nearly 15,000 more joined online, for WordCamp Asia 2025.

\n\n\n\n
\n

It’s the people. It’s the friendships and the stories.

Matt Mullenweg, WordPress Cofounder
\n
\n\n\n\n

The flagship WordPress event started with a dedicated Contributor Day, followed by two days of engaging talks, panels, hands-on workshops, and networking. Notable guests included WordPress Cofounder Matt Mullenweg and Gutenberg Lead Architect Matías Ventura, who were joined by a diverse lineup of speakers and panelists.

\n\n\n\n

Throughout the event, the sponsor hall buzzed with activity as companies from across the WordPress ecosystem showcased their latest products, engaged with attendees, and offered live demos and giveaways. Each day, attendees refueled with diverse food offerings featuring Filipino favorites, turning meals into a prime networking opportunity where new connections were made and ideas were exchanged.

\n\n\n\n

New Ways to Engage

\n\n\n\n

This year’s event introduced several new programs to the schedule:

\n\n\n\n
    \n
  • Solutions Spotlight—a series of dynamic 10-minute lightning talks that gave an inside look at innovative products, cutting-edge strategies, and real-world solutions from top-tier sponsors, all designed to help attendees succeed in the WordPress ecosystem. These fast-paced sessions offered a unique opportunity to discover how leading brands are solving challenges, empowering users, and shaping the future of WordPress.
  • \n\n\n\n
  • YouthCamp, a dedicated event for kids and teens ages 8-17, offered a full day of free, hands-on sessions designed to spark creativity and introduce the world of WordPress and open source. Through interactive workshops covering web basics, design, and development, participants gained practical skills while exploring the power of building online. 
  • \n\n\n\n
  • The new Career and Social Corners enhanced networking, fostered meaningful connections, and created new opportunities for those within the WordPress community. Career Corner was the go-to space for attendees exploring career opportunities, connecting with sponsors, and discovering exciting new roles. Meanwhile, Social Corner offered a relaxed, lounge-style environment where attendees could engage in informal discussions over refreshments.
  • \n
\n\n\n\n

Contributor Day

\n\n\n\n

WordCamp Asia kicked off with an incredible Contributor Day, bringing together almost 800 contributors, many of them new, to collaborate, share knowledge, and give back to WordPress. With 37 dedicated table leads and 16 experts from the Human Library guiding the way, participants of all experience levels engaged in meaningful discussions, tackled important tasks, and made a lasting impact on the WordPress project.

\n\n\n\n\n\n\n\n

Key contributions included resolving a critical media bug, advancing vertical text editing in Gutenberg, and refining the editing experience with dozens of issue closures. Performance optimizations and accessibility improvements abounded, joined by seven fresh patterns, and over 44,000 newly translated strings.

\n\n\n\n

New tools and workflows were explored to enhance testing and development. The day also saw meaningful conversations between hosting providers and users, improvements to event organizing processes, and hands-on training.

\n\n\n\n

With innovative ideas, new faces, and significant progress across multiple areas, Contributor Day reinforced the spirit of open source collaboration that drives WordPress forward.

\n\n\n\n

The Future is WordPress

\n\n\n\n

On the first full conference day, attendees gathered to celebrate the power of open source collaboration and innovation. Opening remarks from global and local event leads reflected on the incredible journey of WordCamp Asia, tracing its roots back to the first Southeast Asian WordCamp in Manila in 2008. This full-circle moment underscored how the WordPress community has flourished over the years, driven by shared knowledge and a commitment to an open web. The excitement continued with a highly anticipated opening keynote from Matías Ventura, who shared insights into the future of Gutenberg and WordPress, inspiring attendees to embrace the next wave of innovation and creativity in content publishing.

\n\n\n\n
\n\n
\n\n\n\n

The day then began in earnest. Talks highlighted new ways to integrate WordPress with external applications, opening possibilities for more interactive and scalable digital experiences. Simultaneously, content strategists and marketers explored evolving best practices in SEO, learning how to optimize their sites for visibility, engagement, and long-term growth. These sessions emphasized the importance of adaptability in a constantly evolving digital landscape, ensuring that WordPress users stay ahead of industry trends.

\n\n\n\n

Workshops throughout the day provided hands-on learning experiences tailored to a wide range of skill levels. Developers refined their expertise, gaining practical knowledge they could apply to their own projects. Accessibility advocates led discussions on designing for inclusivity, showcasing strategies to make WordPress-powered websites more navigable and user-friendly for people of all abilities.

\n\n\n\n

As the conference continued into the afternoon, conversations expanded to performance optimization and emerging technologies shaping the future of WordPress. A dedicated session explored AI-driven workflows, demonstrating how artificial intelligence can enhance site performance, automate repetitive tasks, and create more personalized user experiences. These discussions showcased the evolving role of WordPress as a versatile platform that extends beyond traditional publishing.

\n\n\n\n

The first day culminated in a thought-provoking keynote panel, WordPress in 2030, where industry leaders explored the future of the platform. The discussion covered the expanding open source community, emerging technologies, and the role of education and mentorship. Panelists shared their perspectives on the opportunities and challenges ahead, encouraging attendees to actively shape the future of WordPress by contributing, innovating, and advocating for an open web.

\n\n\n\n
\"Panelists
\n\n\n\n

Returning for the final day of WordCamp Asia 2025, attendees explored a new set of sessions designed to push the boundaries of web development and strategy. Technical discussions on advanced Gutenberg block development highlighted innovative ways to build more dynamic and interactive content experiences, while another session examined performance optimization strategies to enhance site speed, accessibility, and overall user engagement. Content creators and marketers gained valuable insights into audience growth, effective storytelling, and data-driven content strategies to maximize impact.

\n\n\n\n

The final sessions of the conference reinforced WordPress’s adaptability and innovation, equipping attendees with new skills and strategies.

\n\n\n\n

Q&A

\n\n\n\n

As the final day drew to a close, Matt shared historic photos from WordCamp Davao 2008 in the Philippines, and then answered questions from the audience.

\n\n\n\n
\n\n
\n\n\n\n

Questions covered a variety of topics, incluiding: publishing on the open web, AI, headless WordPress, education, and Matt’s personal motivations. It was clear throughout the Q&A that the future of WordPress is as bright as the island-themed attire at the event’s after-party.

\n\n\n\n

Closing

\n\n\n\n

Thank you to all the hard-working organizers who made this event possible, the speakers who took the stage, the visitors who ventured to Manila, and everyone who tuned in from around the world. Our hope is that every WordCamp attendee leaves with new knowledge, new friends, and new inspiration to build a better web.

\n\n\n\n\n\n\n\n

Be sure to mark your calendars for other major WordPress events in 2025: WordCamp Europe (Basel, Switzerland) and WordCamp US (Portland, Oregon, USA). Then join us in Mumbai, India for WordCamp Asia 2026!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18515\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:57:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Report: WordPress in 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"https://wordpress.org/news/2025/02/wordpress-in-2025-report/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 15 Feb 2025 03:19:09 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"General\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18475\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:379:\"This year is set to be transformative for WordPress, yet many decision-makers risk overlooking the immense opportunities ahead. Our new “WordPress in 2025” report highlights why WordPress should be a cornerstone of your long-term strategy. Stay ahead of the curve—read the report now to see how WordPress can drive growth and innovation for your business in the […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Noel Tock\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:3721:\"\n

This year is set to be transformative for WordPress, yet many decision-makers risk overlooking the immense opportunities ahead. Our new “WordPress in 2025” report highlights why WordPress should be a cornerstone of your long-term strategy. Stay ahead of the curve—read the report now to see how WordPress can drive growth and innovation for your business in the years to come.

\n\n\n\n
\"\"
\n\n\n\n

Some of the key points we explore: 

\n\n\n\n
    \n
  • As proprietary “next-gen” CMS hype fizzles out and enterprise budgets shift priorities, open-source CMSs like WordPress are primed to gain ground in the commoditized CMS space. WordPress’ maturity and extensibility provide a high starting point for innovation.
  • \n\n\n\n
  • WordPress’ Block Editor has seen tremendous investment, amassing over 34,000 commits – more than entire competing CMS projects. New capabilities like Full Site Editing (FSE) give enterprises unprecedented ability to enable no-code site building.
  • \n\n\n\n
  • Just as being the first user-friendly publishing tool propelled WordPress’ initial growth, AI presents a similar opportunity. WordPress’ contributor community can build not just AI features, but an exciting multi-agent, LLM-agnostic ecosystem representing an intelligent content operating system.
  • \n\n\n\n
  • Pure-play headless vendors are working backwards to add no-code editing, while WordPress has long supported robust headless capabilities alongside its mature editor. For complex sites, hybrid architectures leveraging both are the pragmatic path forward.
  • \n
\n\n\n\n

Download the full WordPress in 2025 (PDF) report directly to learn more.

\n\n\n\n

Don’t miss WP:25, the virtual event.

\n\n\n\n

Save your spot at our free event, WP:25, exploring the future of WordPress and featuring key people working with many of the ideas discussed in the report.

\n\n\n\n
\n\n\n\n

About the report’s author, Noel Tock — Having built his first website back in 1995, Noel has long been watching the evolution of the CMS space. As a co-owner at one of the leading enterprise WordPress agencies, Human Made, his belief in the power of open source is as great as ever. Human Made is a WordPress VIP Gold Partner specializing in DXP, headless, AI and more.

\n\n\n\n

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18475\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:60:\"\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"WordCamp Asia 2025: Manila Magic\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"https://wordpress.org/news/2025/02/wordcamp-asia-2025-manila-magic/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 14 Feb 2025 16:04:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:6:\"Events\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"WordCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18482\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:409:\"The first major WordCamp of the year is here! WordCamp Asia 2025 lands in Manila, Philippines, from February 20-22, bringing together open source enthusiasts, developers, and WordPress professionals from across the region—and the world. With three packed days of learning, networking, and collaboration, this year’s event promises fresh insights, dynamic discussions, and plenty of opportunities […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Bernard Meyer\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4844:\"\n
\"WordCamp
\n\n\n\n

The first major WordCamp of the year is here! WordCamp Asia 2025 lands in Manila, Philippines, from February 20-22, bringing together open source enthusiasts, developers, and WordPress professionals from across the region—and the world.

\n\n\n\n

With three packed days of learning, networking, and collaboration, this year’s event promises fresh insights, dynamic discussions, and plenty of opportunities to connect.

\n\n\n\n

Solutions spotlight

\n\n\n\n

Throughout the conference days, multiple presentations will focus on the solutions provided by our amazing sponsors. This is a great opportunity to learn more about their initiatives and solutions.

\n\n\n\n\n\n\n\n

Keynotes, panels, and deep dives

\n\n\n\n

The main conference, which will be held on February 21-22, will feature a lineup of notable keynote speakers, including digital innovation leaders and open-source advocates. Attendees can expect diverse sessions on business strategy, development of best practices, and technical advancements.

\n\n\n\n

For those looking to sharpen their skills, presentations will dive deep into topics like SEO for WordPress, performance optimization, and AI-powered content creation. Plus, don’t miss the electrifying WordPress Speed Build Battle, where developers race to create stunning sites in record time.

\n\n\n\n

YouthCamp

\n\n\n\n

On February 22, WordCamp Asia 2025 will host YouthCamp, a pre-registered event designed to introduce young minds to WordPress and its endless possibilities. This initiative aims to engage the next generation of WordPress users, developers, and contributors through hands-on activities and interactive sessions

\n\n\n\n

Closing Q&A with Matt Mullenweg

\n\n\n\n

WordPress Cofounder Matt Mullenweg will wrap up the event with a live Q&A session on February 22. Whether attending in person or tuning in online, you can catch his insights live on the WordPress YouTube channel at 4:00 p.m. Philippine Time (08:00 UTC).

\n\n\n\n

After party

\n\n\n\n

As the sun sets on WordCamp Asia 2025, the excitement continues with the After Party (theme: Island Vibe)! Get ready to experience the vibrant spirit of the Philippines with a lively gathering at The Forum at PICC. Expect a night filled with great conversations, music, and a celebration of the WordPress community.

\n\n\n\n

Get WordCamp-ready

\n\n\n\n\n\n\n\n

As always, be part of the conversation! Whether you’re attending in Manila or following along online, share your experiences using #WCAsia and #WordPress.

\n\n\n\n

Manila is calling—see you at WordCamp Asia 2025!

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18482\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:57:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"WordPress 6.7.2 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://wordpress.org/news/2025/02/wordpress-6-7-2-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Feb 2025 16:52:23 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18445\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:371:\"WordPress 6.7.2 is now available! This minor release includes 35 bug fixes, addressing issues affecting multiple components including the block editor, HTML API, and Customize. WordPress 6.7.2 is a short-cycle release. The next major release will be version 6.8 planned for April 15, 2025. If you have sites that support automatic background updates, the update […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Aaron Jorbin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:8487:\"\n

WordPress 6.7.2 is now available!

\n\n\n\n

This minor release includes 35 bug fixes, addressing issues affecting multiple components including the block editor, HTML API, and Customize.

\n\n\n\n

WordPress 6.7.2 is a short-cycle release. The next major release will be version 6.8 planned for April 15, 2025.

\n\n\n\n

If you have sites that support automatic background updates, the update process will begin automatically.

\n\n\n\n

You can download WordPress 6.7.2 from WordPress.org, or visit your WordPress Dashboard, click “Updates”, and then click “Update Now”. For more information on this release, please visit the HelpHub site.

\n\n\n\n

Thank you to these WordPress contributors

\n\n\n\n

This release was led by Aaron Jorbin.

\n\n\n\n

WordPress 6.7.2 would not have been possible without the contributions of the following people. Their asynchronous coordination to deliver maintenance fixes into a stable release is a testament to the power and capability of the WordPress community.

\n\n\n\n

Aaron Jorbin, Alex Lende, Alexandre Buffet, Andreas Pedersen, Andrew Ozz, Ankit Kumar Shah, apermo, Benedikt Ledl, bernhard-reiter, Brian Alexander, Carlos Bravo, Carolina Nymark, Cyrille, Daniel Post, darerodz, David Calhoun, David Smith, Dennis Snell, dhewercorus, Dion Hulse, Doug Wollison, Ella, Eshaan Dabasiya, Fabian Kägy, Fabian Todt, Felix Arntz, Felix Renicks, Francis Cabusas, Frank B., George Mamadashvili, ghinamt, Glynn Quelch, Greg Ziółkowski, James Koster, Jarda Snajdr, Jb Audras, jdnd, jeryj, Joe Dolson, Joe McGill, Jon Surrell, Jonathan Desrosiers, juanwp22, Juliette Reinders Folmer, Karthick, Kazuto Takeshita, Kelly Choyce-Dwan, Ketan Niruke, Lena Morita, levskipg, Maciej Ma?kowiak, Mario Santos, Matthew Boynes, Mayank Tripathi, Michal Czaplinski, Miguel Fonseca, Mitchell Austin, mreishus, Mukesh Panchal, Nadir Seghir a11n, Narendra Sishodiya, Naresh Bheda, neotrope, Nick Diego, Olga Gleckler, Parth vataliya, Pascal Birchler, paullb, Peter Wilson, Pitam Dey, redkite, Rishav Dutta, robertstaddon, rvoigt, Sagar Tamang, Sainath Poojary, seanlanglands, Sergey Biryukov, Scott Reilly, Shyam Kariya, smerriman, Stephen Bernhardt, Sukhendu Sekhar Guria, TobiasBg, Tonya Mork, Vishy Moghan, Weston Ruter, wongjn, Yogesh Bhutkar, zaoyao

\n\n\n\n

How to contribute

\n\n\n\n

To get involved in WordPress core development, head over to Trac, pick a ticket, and join the conversation in the #core and #6-8-release-leads channels. Need help? Check out the Core Contributor Handbook.

\n\n\n\n

Props to @joedolson, @joemcgill and @audrasjb for proofreading.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18445\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:57:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Joost/Karim Fork\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://wordpress.org/news/2025/01/jkpress/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 11 Jan 2025 02:06:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Meta\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18394\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:319:\"Making great software, great product that stands the test of time and not just survives but thrives through monumental technological shifts is incredibly hard. That challenge is part of the reason I love doing it. There is never a dull day, and the reward of seeing the code you wrote used by the most amazing […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:9904:\"\n

Making great software, great product that stands the test of time and not just survives but thrives through monumental technological shifts is incredibly hard. That challenge is part of the reason I love doing it. There is never a dull day, and the reward of seeing the code you wrote used by the most amazing creators in the world is an indescribable pleasure. When I see what people create with WordPress, some days I feel like I’m grinding pigment for Leonardo da Vinci or slitting a quill for Beethoven.

\n\n\n\n

In open source, one thing that makes it even harder to ship great software is bringing together disparate groups of contributors who may have entirely different incentives or missions or philosophies about how to make great work. Working together on a team is such a delicate balance, and even one person rowing in the wrong direction can throw everyone else off.

\n\n\n\n

That’s why periodically I think it is very healthy for open source projects to fork, it allows for people to try out and experiment with different forms of governance, leadership, decision-making, and technical approaches. As I’ve said, forking is beautiful, and forks have my full support and we’ll even link and promote them.

\n\n\n\n

Joost is a self-proclaimed leader in the SEO space, an industry known for making the web better. He asked for and I gave him WordPress marketing leadership responsibility in January 2019 and he stepped down in June of 2019, I think we would both agree in those 5 months he was not effective at leading the marketing team or doing the work himself.

\n\n\n\n

Karim leads a small WordPress agency called Crowd Favorite which counts clients such as Lexus and ABC and employs ~50 people.

\n\n\n\n

Both are men I have shared meals with and consider of the highest integrity. I would trust them to watch any of my 15 godchildren for a day. These are good humans. Now go do the work. It probably won’t happen on day one, but Joost and Karim’s fork, which I’ll call JKPress until they come up with a better name, has a number of ideas they want to try out around governance and architecture. While Joost and Karim will be unilaterally in charge in the beginning, it sounds like they want to set up:

\n\n\n\n
    \n
  1. A non-profit foundation, with a broad board to control their new project.
  2. \n\n\n\n
  3. A website owned by that foundation which hosts community resources like a plugin directory, forums, etc.
  4. \n\n\n\n
  5. No more centralized and moderated plugin and theme directories with security guidelines or restrictions are what plugins are allowed to do like putting banners in your admin or gathering data, everything done in a federated/distributed manner.
  6. \n\n\n\n
  7. The trademarks for their new project will either be public domain or held by their foundation.
  8. \n\n\n\n
  9. “Modernization” of the technology stack, perhaps going a Laravel-like approach or changing how WordPress’ architecture works.
  10. \n\n\n\n
  11. Teams and committees to make decisions for everything, so no single person has too much power or authority.
  12. \n
\n\n\n\n

Karim has a similar post. Joost says he has the time and energy to lead:

\n\n\n\n
\n

So @photomatt – I saw the post by @automattic.

I'm ready to lead the next releases. I am sure plenty of people and companies are willing to help me and we've got plenty of ideas on what we should be doing.#WordPress

— Joost de Valk (@jdevalk) January 10, 2025
\n
\n\n\n\n

Now, as core committer Jb Audras (not employed by me or Automattic) points out, within WordPress we have a process in which people earn the right to lead a release:

\n\n\n\n
\n

Before leading any major release of WordPress, please start with leading a minor one @jdevalk. Then, apply to be Triage Lead or Coordination Lead Deputy for a major release. These are the steps everyone in our community should follow before claiming to run « the next releases ».

— Jb Audras (@AudrasJb) January 10, 2025
\n
\n\n\n\n

However in Joost and Karim’s new project, they don’t need to follow our process or put in the hours to prove their worth within the WordPress.org ecosystem, they can just lead by example by shipping code and product to people that they can use, evaluate, and test out for themselves. If they need financial or hosting support is sounds like WP Engine wants to support their fork:

\n\n\n\n
\n

We appreciate @jdevalk and @karimmarucchi thoughtful call for constructive conversation, change and evolved leadership within the WordPress community. Moments of disruption challenge all of us to reflect and to act.

WordPress’s success as the most widely used CMS is not the…

— WP Engine (@wpengine) December 20, 2024
\n
\n\n\n\n

Awesome! (Maybe it’s so successful they rebrand as JK Engine in the future.) WP Engine, with its half a billion in revenue and 1,000+ employees, has more than enough resources to support and maintain a legitimate fork of WordPress. And they are welcome to use all the GPL code myself and others have created to do so, including many parts of WordPress.org that are open source released under the GPL, and Gutenberg which is GPL + MPL.

\n\n\n\n

Joost also is a major investor (owner?) in Post Status (which he tried to sell to me a few months ago, and I declined to buy, perhaps kicking off his consternation with me), so they have a news media site and Slack instance already ready to go. He also is an investor in PatchStack and appears to be trying to create a new business around something called Progress Planner, both of which could be incorporated into the new non-profit project to give them some competitive distinctions from WordPress.

\n\n\n\n

To make this easy and hopefully give this project the push it needs to get off the ground, I’m deactivating the .org accounts of Joost, Karim, Se Reed, Heather Burns, and Morten Rand-Hendriksen. I strongly encourage anyone who wants to try different leadership models or align with WP Engine to join up with their new effort.

\n\n\n\n

In the meantime, on top of my day job running a 1,700+ person company with 25+ products, which I typically work 60-80 hours a week on, I’ll find time on nights and weekends to work on WordPress 6.8 and beyond. Myself and other “non-sponsored” contributors have been doing this a long time and while we may need to reduce scope a bit I think we can put out a solid release in March.

\n\n\n\n

Joost and Karim have a number of bold and interesting ideas, and I’m genuinely curious to see how they work out. The beauty of open source is they can take all of the GPL code in WordPress and ship their vision. You don’t need permission, you can just do things. If they create something that’s awesome, we may even merge it back into WordPress, that ability for code and ideas to freely flow between projects is part of what makes open source such an engine for innovation. I propose that in a year we do a WordPress + JKPress summit, look at what we’ve shipped and learned in the process, which I’d be happy to host and sponsor in NYC next January 2026. The broader community will benefit greatly from this effort, as it’s giving us a true chance to try something different and see how it goes.

\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18394\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:57:\"\n \n \n \n \n \n \n \n\n \n \n \n \n \n \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WordPress Themes Need More Weird: A Call for Creative Digital Homes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"https://wordpress.org/news/2025/01/wordpress-themes-need-more-weird-a-call-for-creative-digital-homes/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Jan 2025 18:53:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"Design\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18358\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:409:\"The modern web has gradually shifted from a vibrant tapestry of personal expression to a landscape of identical designs, where millions of websites share not just similar structures, but identical visual language, spacing, and interaction patterns. As we collectively gravitate toward the same “proven” layouts and “conversion-optimized” designs, we’re not just losing visual diversity – […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Nick Hamze\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:7673:\"\n

The modern web has gradually shifted from a vibrant tapestry of personal expression to a landscape of identical designs, where millions of websites share not just similar structures, but identical visual language, spacing, and interaction patterns. As we collectively gravitate toward the same “proven” layouts and “conversion-optimized” designs, we’re not just losing visual diversity – we’re ceding control over how we present ourselves to the world. This matters because genuine self-expression online isn’t just about aesthetics – it’s about maintaining spaces where authentic voices can flourish. 

\n\n\n\n

When every blog has the same hero section, when every portfolio follows the same grid, when every restaurant site looks interchangeable, we create an echo chamber of sameness. The cost isn’t just visual monotony – it’s the slow erosion of the web’s ability to surprise, delight, and showcase truly individual perspectives. WordPress, with its emphasis on complete ownership and control, offers an opportunity to break free from this convergence of design, allowing creators to build digital spaces that truly reflect their unique voice and vision.

\n\n\n\n

Think of WordPress themes like album covers. They should have personality and create an immediate visual impact. The web has become too sanitized, with everyone chasing the same minimal, “professional” look.

\n\n\n\n

Great themes should:

\n\n\n\n
    \n
  • Have a strong point of view – like how Kubrick (the classic WordPress theme) defined an era with its distinctive header gradient. Don’t try to be everything to everyone.
  • \n\n\n\n
  • Embrace specific aesthetics boldly – whether that’s brutalist design, pixel art, hand-drawn elements, or distinctive typography. Create themes that excite people rather than just working for everyone.
  • \n\n\n\n
  • Design for specific use cases – like a theme for photographers that’s all about full-bleed images or a theme for writers that treats typography as art or a theme for musicians that feels like an album cover.
  • \n\n\n\n
  • Break some rules thoughtfully – because not every theme needs a hamburger menu. Not every theme needs to be mobile-first. Sometimes constraints create character.
  • \n
\n\n\n\n

We need more themes that make people say “Wow!” or “That’s different!” rather than “That’s clean and professional.” The web needs more personality, more risk-taking, more fun.

\n\n\n\n

After spending countless hours digging through the WordPress theme repository, searching for designs that break the mold and spark excitement, I came up nearly empty-handed. Don’t get me wrong – there are plenty of well-built themes out there. But where’s the daring? The personality? The unexpected?

\n\n\n\n

If you’ve got a wild theme idea burning in your mind – that portfolio theme that looks like a vintage trading card collection, that blog theme inspired by zine culture, that restaurant theme that feels like a hand-drawn menu – now’s the time to build it. WordPress desperately needs your creativity, your weird ideas, your willingness to break the visual rules. The future of the web shouldn’t be a monochrome landscape of identical layouts. Let’s make WordPress themes exciting again. Let’s make the web weird again.

\n\n\n\n\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18358\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:32:\"https://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"\n hourly \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"\n 1 \";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:4:\"site\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"14607090\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:48:\"WpOrg\\Requests\\Utility\\CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:12:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Fri, 28 Mar 2025 10:41:27 GMT\";s:12:\"content-type\";s:34:\"application/rss+xml; charset=UTF-8\";s:4:\"vary\";s:37:\"Accept-Encoding, accept, content-type\";s:25:\"strict-transport-security\";s:12:\"max-age=3600\";s:6:\"x-olaf\";s:3:\"⛄\";s:13:\"last-modified\";s:29:\"Tue, 25 Mar 2025 16:26:23 GMT\";s:4:\"link\";s:63:\"; rel=\"https://api.w.org/\"\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:16:\"content-encoding\";s:4:\"gzip\";s:7:\"alt-svc\";s:19:\"h3=\":443\"; ma=86400\";s:4:\"x-nc\";s:9:\"HIT ord 1\";}}s:5:\"build\";i:1727736619;s:21:\"cache_expiration_time\";i:1743201687;s:23:\"__cache_expiration_time\";i:1743201687;}','off'),(142,'_transient_timeout_feed_mod_9bbd59226dc36b9b26cd43f15694c5c3','1743201687','off'),(143,'_transient_feed_mod_9bbd59226dc36b9b26cd43f15694c5c3','1743158487','off'),(144,'_transient_timeout_feed_d117b5738fbd35bd8c0391cda1f2b5d9','1743201688','off'),(145,'_transient_feed_d117b5738fbd35bd8c0391cda1f2b5d9','a:6:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:61:\"\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"WordPress Planet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"en\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"WordPress Planet - http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:50:{i:0;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"Do The Woo Community: Do the Woo Friday Shares, March 28, 2025 v12\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=93556\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://dothewoo.io/blog/do-the-woo-friday-shares-march-28-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:206:\"This content highlights our carefully selected information and resources from the Woo and WordPress community, aiming to provide valuable insights and updates for users and enthusiasts in the digital space.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 28 Mar 2025 08:42:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"Do The Woo Community: WordPress Flexibility and Simplicity: Building for Users with Ben Ritner\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93525\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"https://dothewoo.io/wordpress-flexibility-and-simplicity-building-for-users-with-ben-ritner/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:384:\"In today’s Woo ProductChat, co-hosts Katie Keith, founder and CEO at Barn2, and James Kemp, the core product manager at WooCommerce, sit down with Ben Ritner, the Senior Director of Product at StellarWP. They dive into the intricate balance between customizability and simplicity in WordPress products, particularly focusing on Ben’s work with the Cadence suite. […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 27 Mar 2025 16:39:33 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"Do The Woo Community: Leveling Out the Audio on a Podcast with Multiple Guests\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=93358\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:82:\"https://dothewoo.io/blog/leveling-out-the-audio-on-a-podcast-with-multiple-guests/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:252:\"Podcasting requires managing sound levels effectively, especially during livestreams. Auphonic, with its Loudness Normalization feature, simplifies post-production, ensuring balanced audio quality and saving valuable time for creators, plus a lot more.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 27 Mar 2025 12:26:21 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"BuddyPress: BuddyPress 14.3.4, 12.5.3 & 11.4.4 Security Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://buddypress.org/?p=336835\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"https://buddypress.org/2025/03/buddypress-14-3-4-12-5-3-11-4-4-security-releases/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2340:\"

BuddyPress 14.3.4, BuddyPress 12.5.3, and BuddyPress 11.4.4 are all now available. This is a security release. Please update as soon as possible.

\n\n\n\n

14.3.4, 12.5.3 & 11.4.4 fixed two bugs:

\n\n\n\n
    \n
  • Restrict bulk notification management to owner. Many thanks to Brian Mungah for responsibly reporting the problem.
  • \n\n\n\n
  • Improve security of status update messages. Many thanks to mikemyers for responsibly reporting the issue.
  • \n
\n\n\n\n

For complete details, visit the 14.3.4 changelog.

\n\n\n\n
\n\n\n\n\n\n\n\n
\n\n\n\n

You can get the latest version by clicking on the above button, downloading it from the WordPress.org plugin directory or checking it out from our Subversion repository.

\n\n\n\n

Many thanks to our 14.3.4 contributors 

\n\n\n\n

emaralivejjj, and dcavins.

\n\n\n\n

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 27 Mar 2025 02:22:26 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"David Cavins\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:80:\"WPTavern: #162 – Jo Minney on Website Usability Testing for WordPress Projects\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=193251\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"https://wptavern.com/podcast/162-jo-minney-on-website-usability-testing-for-wordpress-projects\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54757:\"Transcript
\n

[00:00:00] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.

\n\n\n\n

Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the blocks, the themes, and in this case, the efficacy of website usability testing for WordPress projects.

\n\n\n\n

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice. Or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.

\n\n\n\n

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.

\n\n\n\n

Today I bring you the first in a mini series of podcasts I recorded in person at WordCamp Asia in Manila. This flagship WordPress event brought together hundreds of WordPress professionals, enthusiasts, and all manner of interested parties under one roof for a three day event. One contributor day, and two days of presentations.

\n\n\n\n

I tracked down several of the speakers and workshop organizers and recorded them speaking about the subject they were presenting upon. I hope that you enjoy what they had to say.

\n\n\n\n

So on the podcast today, we have the first of those conversations, and it’s with Jo Minney.

\n\n\n\n

Jo based in Perth, Australia, is passionate about user experience, data-driven decision making, cats, pockets, and travel. She’s a small business founder, and works with organizations creating digital platforms with WordPress. She also freelances as a UX consultant. She volunteers with Mission Digital to address social issues using technology, and is an ambassador for She Codes Australia, promoting tech accessibility for women. Recognized as a 2023 Shining Star by Women in Technology, Western Australia, Jo is an international speaker on topics like user experience, accessibility, and gender equality. She’s committed to ensuring a seamless user experience, and today shares her insights from practical, everyday usability testing.

\n\n\n\n

Joe’s presentation entitled, Budget Friendly Usability Testing for WordPress, helped attendees understand what usability testing is, and clarified why it differs from other testing methods. She shares examples from her work showing how small changes can significantly impact user experience, which is better for you, the website builder, and your client, the website owner.

\n\n\n\n

We also discuss how usability testing can transform a website’s effectiveness by improving conversions. Joe explains the importance of recruiting novice users for testing, and highlights how usability testing pushes for real, user-centered, improvements.

\n\n\n\n

Towards the end, Jo share’s practical advice on when and how to integrate usability testing into your process. Advocating for early and iterative testing to preemptively address potential issues.

\n\n\n\n

If you’re looking to gain a deeper understanding of usability testing and its benefits, this episode is for you.

\n\n\n\n

If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast where you’ll find all the other episodes as well.

\n\n\n\n

And so without further delay, I bring you Jo Minney.

\n\n\n\n

I am joined on the podcast by Jo Minney. Hello, Jo.

\n\n\n\n

[00:04:06] Jo Minney: Hi. It’s good to be back again Nathan.

\n\n\n\n

[00:04:08] Nathan Wrigley: Yeah, you’ve been on the podcast before. But this time it’s different because this time we’re actually facing each other. Last time we were doing it on, you know, something like Zoom or something like that, but here we are staring at each other because we’re at WordCamp Asia. We’re in the Philippines, Manila. It is the second day of the event, kind of. We had Contributor Day yesterday. Today is presentation day. It’s the first day of the presentations, and you are doing one.

\n\n\n\n

[00:04:29] Jo Minney: I’ve done one actually. I did it at 11 o’clock this morning.

\n\n\n\n

[00:04:33] Nathan Wrigley: How did it go?

\n\n\n\n

[00:04:34] Jo Minney: It went really well, I think. I had very good feedback from it. Half of the things on my slides didn’t work. I think that’s normal for a conference though, and I’m pretty experienced now at just winging it, and rolling with it anyway, so. It was really exciting because it’s a topic that I’m super passionate about and I haven’t had a chance to speak about it at a conference before. So, yeah, it was really nice to be able to share something that I do on a day-to-day basis and can stand up there and really confidently talk about.

\n\n\n\n

[00:04:58] Nathan Wrigley: I don’t think I’ve ever spoken about this subject before in any of the podcasts that I’ve done. That is quite nice, and it’s novel. I’ll just introduce the topic. The presentation that you gave was called Budget-Friendly Usability Testing for WordPress. And obviously that sort of sums it up. We’re going to talk about usability testing.

\n\n\n\n

But before we do that, Jo, just to nail your colours to the mast a bit, tell us about you. Where you’re from. What you do for a job, and anything that you think is relevant to this podcast.

\n\n\n\n

[00:05:22] Jo Minney: Okay, I really like cats and pockets.

\n\n\n\n

[00:05:25] Nathan Wrigley: I saw that in your show notes. Why pockets?

\n\n\n\n

[00:05:27] Jo Minney: Okay. So I think pockets are a great example of something that can be both a fantastic and a terrible user experience. You are like, oh yeah, maybe I know what you’re talking about. But, let me ask, do you live with a woman?

\n\n\n\n

[00:05:39] Nathan Wrigley: I do.

\n\n\n\n

[00:05:39] Jo Minney: I know that’s a very personal question, sorry Nathan. But, how many times on average a month does she complain about not having pockets in her clothing?

\n\n\n\n

[00:05:48] Nathan Wrigley: Never, she carries a bag.

\n\n\n\n

[00:05:50] Jo Minney: Yeah, but why do we have to carry a bag, right? She has to carry a bag because her clothing doesn’t have pockets. So I spoke at a conference late last year, and I asked this question. This has been a life goal of mine, was to speak about pockets at a conference. And I managed to do it. I asked all of the women in the audience, hands up if you’ve ever thrown out clothes or gotten rid of them because they didn’t have pockets in? And every single woman stood up and was like, yes, I’ve gotten rid of clothes because they didn’t have pockets in.

\n\n\n\n

Most of the people that were there were men. And I said, stand up if you don’t have pockets in your clothes right now. And 400 men stayed seated. But this is an example of something where, yes, there’s a subsection of the population that’s experiencing this problem, but it’s a big problem for us. It’s very frustrating. You’re at a conference, you don’t want to have to carry around a handbag. So, pockets. They’re a great example of user experience.

\n\n\n\n

[00:06:45] Nathan Wrigley: Okay, I get it. I understand now. Tell us a little bit about your sort of day-to-day work, though. You work with WordPress, I guess.

\n\n\n\n

[00:06:51] Jo Minney: I do. So I run a small agency. We’re what I usually call a micro agency, and we have only three of us that are working on the WordPress team. We do website development, but specifically for charities, nonprofits, cause-based organisations, so a lot of social enterprises and that sort of thing.

\n\n\n\n

On top of that, I also do consulting for user experience research. I’m not a designer. UX and UI often get lumped together. They’re very different. UI is about the interface and what people see, and UX is about user experience and how people use things. And they can’t be completely separated, but they’re also very different.

\n\n\n\n

So I am lucky because I work in the niche that I work in, that I’m able to do a lot of usability testing and it’s something that a lot of people don’t get the experience to do. And so I thought I would share what I’ve been able to learn over having this sort of unique opportunity to do so much usability testing, and share with people how they can do it more cost effectively, but also the benefit that it can have for a project.

\n\n\n\n

[00:07:54] Nathan Wrigley: Let’s dig into it and I’m going to actually crib the questions which you posed to the audience today. You put four questions surrounding your subject. And the first one is this. And I’m sure that the listeners to this podcast, if they’re anything like me, they’ll probably have some impression that usability testing is a thing that you could do. And I think the word there is could, as opposed to do, do.

\n\n\n\n

I imagine most people have an impression of what it is, but whether or not they do it is another thing altogether. But that would then lead to this. What even is it? So what is usability testing, and what are you actually testing for? So that was a question you posed to the audience and now I’m throwing it right back at you.

\n\n\n\n

[00:08:34] Jo Minney: Yeah, it’s a good question. It’s probably the sensible place to start. So usability testing is not the same as user testing, or user acceptance testing. And it’s focusing on, how do we identify what the problems are with something that we have created?

\n\n\n\n

So a lot of UX research is focused on what we call quantitative testing. So, meaning we’re looking for quantities of something. It could be the amount of time it takes someone to do an action. It could be using heat maps. So we have a thousand users, let’s see where their cursors most often are going. Let’s see how often they scroll down the page. And quantitative testing is really good at showing you comparisons of whether one thing or another thing works better, but it’s not actually good at identifying what the problem is, only that there is a problem.

\n\n\n\n

So you can do a lot of testing and still not know what the problem is. Usability testing is different because it’s what we call qualitative testing. So it means that we’re not looking for big numbers, we’re not looking for lots of data. We are looking for really deep user experience examples. And in a nutshell, the way that that works is you recruit some participants, usually five people per round is ideal. And often I get asked, well, how can you have statistically significant data with only five people? That’s not the point of qualitative testing. The point of qualitative testing is not to have statistically relevant data, it’s to have the actual user experiences.

\n\n\n\n

So you recruit your people, you come up with your research questions and that’s the problem that you’re trying to solve or the question you’re trying to get an answer to. So, an example might be, are users going to recognise this label that I’ve used in my navigation? Is this button going to get clicked if I put it in this location? It’s often a thing that, if you’re working with a customer to develop a website for them, what we find is that often the things that we are testing for in usability testing are things that the customer and I disagree on, or things where they weren’t sure when they made the decision in the first place. And they’re a great example of things that you want to test for.

\n\n\n\n

But the research questions are only the first part because if I say, the example I used in my talk today is that we had a support service directory. And this was for people who are experiencing family domestic violence. And they didn’t want to use the term directory because it’s a very harsh term. So they had called it support services, which sounds, on the surface like a good idea, but a lot of the people that are using their platform are not English first language. And they also tend to be in a really stressed out state as you can imagine.

\n\n\n\n

And so what we actually found is that when we said to them, can you imagine you’re helping someone, can you help them find a legal service that will enable them to get a restraining order or something like this? What we found is that repeatedly they didn’t go to support services to start with. The minute we changed that to service directory, they started to find the thing that we wanted them to click on.

\n\n\n\n

It’s such a small change, but it made a huge impact, the usability. Now, we found that out after the second test, which meant that we were able to change it after the second test, and then we had three more tests where we could show that every time they were able to find the thing that we wanted them to be looking for.

\n\n\n\n

So this is an example where the research question and the research task or the activity that we’re giving to the user, they’re not the same thing. If we said to them, find support services, find the service directory, if we use that language, obviously they’re going to look for that label. But instead we asked them to do an activity that would hopefully take them to the place we wanted them to go to.

\n\n\n\n

And then finally the last step is to iterate that and to actually take that data and make decisions, and make improvements to the project iteratively to try and make it better. That’s the goal, right? Is to find what the problems are and fix them. So we still have to work out how to fix them, but at least we know what the problems are and not just that people were not clicking on the button and we don’t know why.

\n\n\n\n

[00:12:27] Nathan Wrigley: I have a couple of follow up questions. First thing isn’t the question, it’s an observation. So that’s really cleared up in my head what it is, so that’s amazing. But one of the things that I want to know from that is, do you filter out people who, let’s say for example, you’ve got a website, the kind that you just described. Do you filter out people who are not the target audience? So in other words, I don’t know, maybe that’s not a perfect example. But let’s say, on some websites, would it be better to have really inexperienced users of the internet as your five candidates?

\n\n\n\n

[00:12:59] Jo Minney: That is exactly the ideal person.

\n\n\n\n

[00:13:02] Nathan Wrigley: So people who are just, I’ve never come across this before. You want people who are potentially bound to be confused. If somebody’s going to be confused, it’s you five.

\n\n\n\n

[00:13:10] Jo Minney: That is the ideal participant for a usability study. And often people say, I want to start learning how to do usability testing. Where should I start? And my advice to them is always the same, with your mum.

\n\n\n\n

Recruit a person that’s a generation older than you, because I can guarantee that in most cases, sorry to generalise, but they tend to be less efficient and less used to technology because they haven’t grown up with it. So for millennials and younger, we have had technology for all of our adult lives and most of our childhood.

\n\n\n\n

For my parents’ generation, they have had to learn that technology as an adult, and so their brains have a different mental model, and they don’t take for granted things that we take for granted. Like, when I click the logo, it will take me back to the homepage. I know that, you know that, your mum might not know that.

\n\n\n\n

And I think that is something that is really valuable is to understand the benefit of testing with people who aren’t as experienced with technology. Who don’t speak English as a first language. Who are experiencing some kind of accessibility challenge. Whether that’s using assistive technology, being colorblind. Things like that are really good things to try and get some cross-sectional representation in your testing participant pool.

\n\n\n\n

[00:14:25] Nathan Wrigley: So the idea then is that you’ve got these novice users who hopefully will immediately illustrate the point. And it’s driven by questions. So it’s not just, we are just going to stand over your shoulder and watch you browse the internet, and when you do something and describe, you’re looking for something and you can’t find it, that’s not how it’s done.

\n\n\n\n

It’s more, okay, here’s a defined task, do this thing and we’re going to ask you to do five things today, we want you to achieve them all and describe what you’re doing, but it’s more of that process.

\n\n\n\n

And then the idea is that you go from an imperfect website, slowly over time, iterating one problem after another towards a better website. The goal is never reached. It’s just an iterative process.

\n\n\n\n

[00:15:01] Jo Minney: That’s it. Perfection does not exist.

\n\n\n\n

[00:15:03] Nathan Wrigley: Okay, so that’s interesting. So we start with the novice. We’ve got a small cohort of people. We ask them specific questions, and we get feedback about those specific questions.

\n\n\n\n

So the other thing that I wanted to ask then is, when do you do it? Because it feels like you need to build the website first, then show it to people. So there’s got to be something. This isn’t process of discovery prior to the website. You need pixels on pages. Buttons that are potentially mislabeled or what have you. Is that the case? Build first, then usability test afterwards. There’s no usability testing prior to the initial build.

\n\n\n\n

[00:15:37] Jo Minney: It’s kind of a trick question because you can usability test at most stages. Probably the only stage you can’t usability test at is when you don’t yet have a site map. Having said that, my recommendation is, assuming you had unlimited budget and unlimited time, I would do at minimum two rounds of usability testing, and I would do one before you have any design, and I would do it just using wire frames.

\n\n\n\n

So we build interactive wire frames using WordPress. So for the demo that I did today, I spun one up. I used InstaWP. You can get like a seven day website or something through there. It took me 42 minutes to build out the website in just the block editor, with no design or anything, just the layout of it. And I was eating a loaded potato at the time. So if I can do that in 42 minutes, eating a loaded potato, and that’s not my job, I think it’s a pretty efficient and cost effective way of being able to do early usability testing.

\n\n\n\n

And often the thing that we’re testing for there is like, have I got the right navigation structure and hierarchy? Are the labels that I’m using sensible for people? Do they fit with the mental models of what our users are actually expecting? And the benefit of doing it that early is that when you don’t have a design applied, it’s a lot easier to identify problems.

\n\n\n\n

Because there is a thing that happens in human psychology, and there’s a lot of psychology in user experience. And there’s a thing that happens where if something’s pretty, we will say that it is easier to use. Our experience is that it’s easier to use because it’s nice to look at. And that’s great. That means that UI is really important, but it also means that, if you have a really nice UI, it can mask problems that you have in the background. It is great that things can be easier if they’re pretty, but imagine how much easier they would be if they worked well and were pretty, that’s what we should be aiming for.

\n\n\n\n

So typically we would do one round of usability testing when we just have a framework and just have the navigation. When someone lands on a page, sometimes we’ll just write a message on there and say, congratulations, you found the service directory where you can find this thing, this thing, this thing, this thing, and then we put a little button there. When they click it, it releases confetti on the page. So they get a dopamine hit and it’s like, yay, I completed the activity. You don’t have to have all of your content in place to be able to do testing, and identify early that you’ve got problems that you need to fix.

\n\n\n\n

[00:18:02] Nathan Wrigley: It sounds almost like an overly complicated design is the enemy of usability. We are drawn towards beautiful, but sometimes maybe beautiful just is overwhelming. You know, there’s lots of colors on the page, the buttons get hidden, there’s just too much text on there. Looks great, but it might be sort of masking the thing that you’re really trying to show. And it feels like there’s this tight rope act of trying to balance one thing against the other. Yeah, that’s really interesting.

\n\n\n\n

So, with the wire frame thing, in that case, you are really just testing, can the person find the thing? But I’m guessing once you’ve move beyond the wire frame stage and you’ve got a website, it’s literally out on the internet, it’s functional. It’s exactly what we hope would be the perfect version, then you’re drilling into more detail. You know, can a person find this resource? Do they know that this button is what we are intending them to click? Those kind of things.

\n\n\n\n

[00:18:49] Jo Minney: Yeah. So I think things like searchability and discoverability are much easier to test for in the early stages when you’re just doing, say, using like a wire frame or a prototype. And things like usability, you really do need to have the complete designed product to be able to test for them well. And I say that, there’s actually kind of four categories of the different types of tasks that we can do. I’ll give you the link to the blog post that I wrote that has all of this in detail because we do not have time to go deep into that today.

\n\n\n\n

But things like, does my search form work the way that I want it to? They’re the sorts of things that you do have to do some development to be able to get them working. So it’s not always practical to do that at the very early stages when you do want to start testing your navigation and stuff like that.

\n\n\n\n

Something that you can do is if you’ve only got enough budget, or enough time, to be able to do, say, five usability tests total, you could do two of them early, and then you could do three of them towards the end, after you have the majority of the design and the development work in place. Users are pretty forgiving when they’re doing a usability test. If you say, this is still a work in progress, there might be a couple of pages that look odd and aren’t quite ready to go live yet. If you get somewhere and you’re not sure, you can just go back, it’s okay.

\n\n\n\n

It’s not meant to be a perfect experience. The point is that you are getting their real time thoughts and feedback as they’re doing it. So it’s really important that you try and encourage them to follow the think aloud protocol, which is really outlining every single thing that goes through they’re head, just brain dump on me please. Like, I just want to hear all of your thoughts and thought processes.

\n\n\n\n

And the only thing as the facilitator that I will say during a usability test is, tell me what you’re thinking. And other than that, I am completely silent. So even when it comes to giving them the activity, so if I’m asking you to do an activity like help somebody find a legal service that they can use in this particular state. I would actually send that task to you via the chat or something like that.

\n\n\n\n

I would send the task to you via the chat, and then I would get you to read that task back to me, because I don’t want you to be thinking about how I’m saying it. I want you to be able to go back to that task and look at it, and think about it, and process everything inside your own head. But I want you to be telling me all of that.

\n\n\n\n

So often we’ll find people ask questions during that, like, what should I do next? And the answer to that is really hard to train yourself out of replying to them with anything other than, what would you do if I wasn’t here? And I think that’s the hardest thing about learning to facilitate a usability test.

\n\n\n\n

[00:21:24] Nathan Wrigley: Yeah, and in a sort of an ideal scenario, you wouldn’t even be in the room. But in some strange way, you’d be able to just get into their head and say, okay, now I want you to do this, but every time you’ve got problem, just figure figure it out, and we’ll watch. But you have to be there because you have to be able to listen to what they’re saying and what have you. Yeah, that’s curious.

\n\n\n\n

[00:21:40] Jo Minney: Yeah, and we do, at the end of each activity, we’ll then ask them for feedback on how they found it. If they had any suggestions or things that they didn’t say out loud while they were doing it that they wanted to share with us. How confident were they with the activity, and did they think that they were successful in it, which is a really good way of telling, I wasn’t really sure what the activity was meant to do. Or I wasn’t really sure if what I found really met the needs that I was looking for.

\n\n\n\n

Then we ask them, how certain are you with the answer that you just gave? And if they’re like, three out of five, you’re like, alright, this person didn’t understand what it was that I was asking them to do in the first place. Maybe the problem is actually with my question and not with the website.

\n\n\n\n

[00:22:18] Nathan Wrigley: Okay, so the whole process is, you’re not just asking for feedback about the website, there’s a whole process of asking for feedback about the process as well which is, that’s kind of curious. Meta, meta processing.

\n\n\n\n

[00:22:27] Jo Minney: Very meta, for sure.

\n\n\n\n

[00:22:29] Nathan Wrigley: We’re in an industry where at the moment everything is trying to be automated.

\n\n\n\n

[00:22:32] Jo Minney: Is this the AI question?

\n\n\n\n

[00:22:34] Nathan Wrigley: Well, no, this feels like it’s a very human thing. You need actual bodies on the ground. So it’s really a question of economics. Because I’m wondering if this often turns out to be a fairly expensive process. And because of that, I wonder if people push against it, because the budgets may not be there. If this is something that clients typically would say, well, okay, tell me how much that’s going to cost. It’s a nice idea but, okay, it’s going to cost us X thousand dollars because we’ve got to put five people in a room and we’ve got to pay for your time to moderate the event, and come up with the questions and so on.

\n\n\n\n

How do we manage that in an era of automation where everything is, the dollar cost of everything has got to be driven down. This feels like the dollar cost is going up because there’s humans involved.

\n\n\n\n

[00:23:14] Jo Minney: Yeah, it’s a great question. Have you ever run a Google ad before?

\n\n\n\n

[00:23:17] Nathan Wrigley: It’s expensive.

\n\n\n\n

[00:23:18] Jo Minney: It’s very expensive. It’s very expensive to get a new lead. It’s a lot more cost effective to convert a lead than it is to get a new one. And the point of usability testing is to improve conversion of people being able to do the thing that you want them to do on the website.

\n\n\n\n

So my first answer to that would be, look at the cost benefit analysis. It’s worth it in most cases to do usability testing. Something that we’ve found with positioning of usability testing is that if we offer it as an add-on, then people don’t want to do it because they don’t want to pay for it. They see the value in it necessarily. However, we don’t offer it as an add-on.

\n\n\n\n

We actually have it just as part of our proposal right from the start where we’re like, this is part of the point of difference between what you get when you build with us versus when you build with someone else. They’ll tell you what they think is the best way to do something. If we are unsure about the best way to do something or we disagree on it, it’s not going to ultimately be me making a decision or you making a decision. We’re going to test and we’re going to get real evidence from customers.

\n\n\n\n

And they’re the ones that are going to be developing it so you know that the final result that you get is going to be the best possible version of the website. And often we might be more expensive than our competitors, but people will go with us because we are not competing on price. We’re competing on offering a service that nobody else is offering. I asked today in the presentation who has done usability testing before and not a single person put their hand up.

\n\n\n\n

[00:24:42] Nathan Wrigley: That would’ve been my assumption actually.

\n\n\n\n

[00:24:44] Jo Minney: Yeah. And honestly, I don’t think any of the people that we’re competing against in the industry that I’m in are doing the same thing as what we’re doing. And so it is very much a point of difference. I think it’s not a well understood technique, but it’s so valuable that it is a really easy way to position yourself as being different, and really actually do a better job for your customers, for the people that you’re building websites for. Because ultimately you are going to have a better result at the end of it.

\n\n\n\n

[00:25:12] Nathan Wrigley: The interesting thing there is, when I say usability testing, somehow in my head there is a connection between that and accessibility. And that’s not where I’m going with this question, but there’s just something about it being unnecessary. And I’m not binding that to the word accessibility. What I’m saying is clients often think, I don’t need to do that. Obviously, we’re moving into an era where legislation says otherwise. But I can just leave it over there. I don’t need to worry about that, usability testing, not for me.

\n\n\n\n

However, the lever that you’ve just pulled, it completely changes the dynamic because you’ve pulled an economic lever, which is that if we can get everybody to follow this action, I don’t know, fill up the cart with widgets and then press the buy now button, and go through the checkout process. If that’s the thing that you’re usability testing, you’ve made direct line. You’ve joined up the dots of, okay, user, money.

\n\n\n\n

So it’s not just about it being a better website so that people can browse around it all day. It’s also about connecting the economics of it. So the usability is about people buying, converting, getting the resource. And so there might not be an economic transfer there, but it will be some benefit to your business. There might be downloading that valuable PDF that you want everybody to see or whatever.

\n\n\n\n

So that’s kind of interesting. That’s changed my thoughts about it a little bit. And it is more about that. It’s getting an understanding of what you want out the website, getting an understanding of what you think should be happening is actually possible and happening. Have I sort of summed that up about right?

\n\n\n\n

[00:26:40] Jo Minney: Yeah, I think that’s a really good summary it. I think the only thing I would add there is that a lot of the times the conversation around accessibility and the conversation around usability do have a lot of crossover. They are fundamentally different, but one of my favorite examples is actually something that I think applies to both.

\n\n\n\n

So two of the common problems that we find very early on in design is often to do with colour. And so one of them is colour contrast and the other one is colourblind accessibility. And I think it’s a great way to get people to change their thinking, and their perception of the way we have these conversations is, if you have an e-commerce website, Nathan, what would you say if I said to you, I can instantly get you 8% more customers?

\n\n\n\n

[00:27:23] Nathan Wrigley: Yeah, I’d say that’s great.

\n\n\n\n

[00:27:24] Jo Minney: And I’d be like, cool, change your buttons so that colourblind people can read them, because 8% of men are colourblind. So actually it’s only 4% of people because assuming half of them are men, then you’ve actually only got 4%. But still 8% of men are colourblind, that’s a big percentage of the population. So if your button is red and green, then you’re going to have a problem. People are not going to be able to find the thing that you want them to click to give you their money.

\n\n\n\n

Likewise, if you want people to be able to use your website when they’re outside and using their phone in sunlight, then you need to have good colour contrast on your website. So often this conversation is around, well, I don’t have people who are disabled, I’m not trying to cater to people that are using screen readers. It doesn’t matter because not very many people that are using my website are blind. And I’m like, well, I’m not blind but I still struggle when I’m looking at something where the text is too faint, and I’m looking at it on my phone, and I’m standing outside in the sun because we naturally don’t visualise as much contrast there.

\n\n\n\n

So I think being able to position it in a way where people can see the value to themselves. I want to use a website that has better contrast, and so it makes that conversation easier with a customer.

\n\n\n\n

[00:28:32] Nathan Wrigley: I hadn’t really drawn the line between accessibility and usability, but it seems like they’re partner topics, basically. There’s like a Venn diagram, accessibility over here, usability over here, with a massive overlap somewhere in the middle.

\n\n\n\n

[00:28:43] Jo Minney: A hundred percent. That’s why we always encourage having that sort of intersection between accessibility and usability in our testing pool. So we always try and have one person who experiences some kind of accessibility challenge, whether that’s being colourblind, hearing impaired, if we’ve got a lot of video on the site, for example. And I think that it can be a really valuable way of collecting multiple data points at one time.

\n\n\n\n

[00:29:04] Nathan Wrigley: When you have a client that comes to you and they’ve obviously, by the time that they’ve signed the contract with you, usability is already part of the deal it sounds like. How do you decide, what’s the thing in round one that we’re going to pick up on? Is there sort of like a copy book that you go through? Is it like, I don’t know, buttons or the checkout or colour or? Where do you go first? And sort of attached to that question a little bit, this process never ends, right? In theory, you could do usability testing each month. But I was wondering if you did it like on an annual cycle or something, yeah.

\n\n\n\n

[00:29:34] Jo Minney: If you’re not changing stuff super often, I would say, there’s probably more cost effective ways that you can collect information about it. Typically we encourage, long-term, have things like heat maps and stuff like that. They will help you identify if there is a problem. If you know that there is a problem, let’s say you’ve got a heat map and you’re like, why is nobody clicking on our buy now link? That is a good instance of where you would do some usability testing to figure out what the problem is.

\n\n\n\n

But if everything’s working and you’re getting conversions, then probably doing usability testing isn’t the most valuable thing that you can do. If you’re looking at making significant changes to the way that your website works, that’s another good time to introduce a round of usability testing. So we don’t do it just for the sake of doing it. We do it because we need to do it, and because there’s value in it for our customers.

\n\n\n\n

[00:30:18] Nathan Wrigley: Do you keep an eye on your customer’s websites so that you can sort of get ahead of that, if you know what I mean? So let’s say that you put heat maps in, very often that would then get handed over to the client and it’s somebody in the client’s company’s job is to check the heat maps. Or do you keep an eye on that and, oh look, curiously, we’ve seen over the last 12 months, yeah, look at that. There’s not much going on over at that very important button over there. Let’s go back to the client and discuss that. That could be another round of usability testing.

\n\n\n\n

[00:30:44] Jo Minney: Yeah, so I think we’re not uncommonly, a lot of agencies now do have some kind of retainer program where they will maintain communication and assistance for their clients. So we call them care plans. I know everyone has a different name for it. I think it’s pretty standard now in the WordPress ecosystem. It’s a very common thing to do.

\n\n\n\n

As part of our care plans we have scheduled meeting with our clients once every three months or six months or 12 months, depending on how big the site is. And one of the things that we’ll do at that time is review their analytics, review the heat maps, that sort of thing.

\n\n\n\n

Ask them, have they experienced any problems? Have they noticed a downturn in the people signing up for the memberships? Or have they noticed, have they had any complaints from people about something? Is there anything that they’re not sure about? Are they going to be changing the way that they operate soon, and introducing something new into their navigation that we need to consider where does that fit in the grand scheme of things?

\n\n\n\n

I find if we’re having those conversations early and we are the ones starting those conversations, then often we are coming to them with solutions instead of them coming to us with problems.

\n\n\n\n

[00:31:46] Nathan Wrigley: I think that’s the key bit, isn’t it? If you can prove to be the partner that comes with, we’ve got this intuition that there’s something that we can explore here. You are proactive, you’re going to them not, okay, anything you want? Is there anything we can help you with, you know? And the answer to that is always, not really.

\n\n\n\n

Whereas if you go and say, look, we’ve got this idea, based upon some data that we’ve seen, we’ve got heat maps and what have you, shall we explore that further? That seems much more credible. You are far likely, I think to have an economic wheel which keeps spinning if you adopt that approach, as opposed to the is there anything you want doing, kind of approach?

\n\n\n\n

[00:32:18] Jo Minney: Absolutely. I think every developer’s worst nightmare is having a customer come back to them and say, I’ve just noticed that I haven’t had anyone send through anything in my contact form for the last three weeks. And I’ve just noticed, when I went and tested it, that the contact form’s not working anymore.

\n\n\n\n

I’m sure I’ve had that nightmare at least once. And I think if you can avoid being in that situation where they’re coming to you with something like, oh my God, it’s broken, how do I fix it? If instead you can go to them and be proactive about it and just kind of keep your finger on the pulse.

\n\n\n\n

Yes, there’s a little bit of ongoing work, but like honestly, I jump on, I check all of the analytics maybe once every three months for my clients. I set aside one day to do it. Go and have a look through that. If I notice anything, I can usually fix it, make sure that we’re collecting the data again before it becomes a problem.

\n\n\n\n

And then that way when there is an issue, we’ve got data that we can back up and we can start from there and go, okay, yes, we’ve identified, here’s where we need to do more research. And then we can apply something like usability testing to that.

\n\n\n\n

[00:33:16] Nathan Wrigley: How much of your time on a monthly basis, let’s say as a percentage, do you spend on usability of existing clients? Is this something that is a lot of the work that you do? What I’m trying to figure out here is, for people listening, is this something that they can turn into a real engine of their business?

\n\n\n\n

Because you might get two days, three days work a week just on the usability of pre-existing clients. So in a sense, you’ve created interest and work out of thin air, because these clients already exist, they’re in your roster, but there’s a whole new thing that we can offer to them. So, how much do you spend doing it?

\n\n\n\n

[00:33:50] Jo Minney: Yeah, so it’s a great question. I would say it’s cyclical. I couldn’t really say like, I always spend this much amount of time. There might be entire weeks that go by where my whole life is usability testing, and there might be a month that goes by where I don’t do any. And it really does often depend on where our projects are in the life cycle at any particular time.

\n\n\n\n

So we’re often working on projects that will span over years. And because of that, they might introduce a completely new part of their project. And that’s a good time to reintroduce that usability testing. As I said, like you don’t really want to do it just for the sake of doing it, but at the same time, if you can show that there will be value in making a change, if you can show that there is a lost opportunity somewhere, then a hundred percent you can sell that, the value to them of, hey, you could spend $1,000 now, but you could be earning $5,000 more every month for the next several years. That’s a no-brainer, right?

\n\n\n\n

People are happy to make investment if they can see that there’s going to be a cost benefit for them in the future. Or if the thing that they’re trying to do is maybe their government website or something, and they’ve got a particular thing that they need to meet, they’ve got KPIs. If you can show that you are able to help them meet those KPIs, then they are going to invest in doing that thing that you’re trying to offer them.

\n\n\n\n

[00:35:02] Nathan Wrigley: We talked about the Venn diagram of accessibility and usability, and the fact that there’s a lot of an overlap. In the year 2025, this is a year where, in Europe at least anyway, accessibility, the legal cogs are turning and the screw is getting tighter. So accessibility is becoming mandated in many respects.

\n\n\n\n

And I was wondering about that, whether there was any kind of overlap in legislation on the usability side. The accessibility piece is obviously easier to sort of define in many ways, and it’s going to become less optional. But I was wondering if there was any usability legal requirements. I don’t know quite how that would be encapsulated.

\n\n\n\n

[00:35:41] Jo Minney: Sort of. An example that comes to mind is that there are a lot of practices that historically have been really prevalent on the internet, and they’ve been identified as being really bad for usability. And they’ve actually now been identified as being so bad that they’re almost evil. And they’ve started to crack down on those.

\n\n\n\n

And an example of that is, have you ever tried to unsubscribe from a gym? It’s basically impossible. And so now if you, at least in Australia, I know if you have a subscription on your site, you legally have to have a way of people being able to unsubscribe without having to call someone or send an email somewhere.

\n\n\n\n

And that is an example where that is actually usability. And I think there are definitely things where we are picking up on stuff that is maybe a shady way of working, and a shady way of developing websites. And those things are starting, we’re starting to cut down on them.

\n\n\n\n

I’m not sure if that is purely usability, or just like not being being a bad person. But I think that there is definitely, the only reason that we know that those things are a problem is because we have all had those bad experiences. And ultimately that’s all user experience is, it’s just how good or bad is experience of using a platform.

\n\n\n\n

[00:36:49] Nathan Wrigley: I share your frustration with those kind of things because I’ve been through that process. Not just canceling a subscription but, I don’t know, something that you’ve got yourself accidentally into and you don’t want to be on that email list anymore. Seemingly no way to get off it.

\n\n\n\n

[00:37:01] Jo Minney: They’ve changed the unsubscribe link so it doesn’t have the word unsubscribe in it. And now you just have to look for the word that’s not underlined, or highlighted in a different colour. That when you hover over it, something pops up and you’re like, oh, that’s the link. That thing that says manage preferences down the bottom, hidden in the wall of text. That is a shady practice. That is a poor user experience just as much as it’s just a bad thing to do.

\n\n\n\n

[00:37:23] Nathan Wrigley: I think it’s got the label of deceptive design now. It used to be called dark patterns, didn’t it? But deceptive design. This notion of doing things in such a way to just deliberately confuse the user so that the green big button, which is the exact opposite of what you want to click, is the one which is visible. And then there’s this tiny little bit of greyed out text, which is the one which, clearly, you’ve ended up at this page, that’s the one you want. That’s the enemy of usability in a way. But for the business, it may be exactly what they want because it keeps the economic engine rolling.

\n\n\n\n

Yeah, that’s interesting. I wonder if there’ll be more legislation to tighten those things up so that they’re not allowed. Yeah, that’s fascinating.

\n\n\n\n

Last question. We’re running out of time. Last question. And it refers to something that we talked about earlier. I’m guessing this really never ends. This is a journey which you begin, you tweak it, you do a little bit, you fix, and then you start again a little bit later and what have you. Is there ever a moment though where you go to a client and say, we did it? This site, as far as we’re concerned, is now perfect. Or is it never a goal? It’s a journey and never a destination.

\n\n\n\n

[00:38:23] Jo Minney: I think you’ll probably agree with me here, Nathan, that it’s basically impossible to be perfect, because ultimately someone is always going to have a different opinion. Someone’s always going to think that your shade of purple is too dark. Someone is always going to dislike the font that you chose, because it’s not loopy enough, or it’s too loopy, right?

\n\n\n\n

So I don’t think there is such a thing as perfect. But through doing five usability tests, five people, you can pick up at least 85% of the potential problems with your design. And I’m not aiming for perfect, but I know that for me, if I can confidently say to my customers that I’ve been able to identify 85% of the potential problems that they might experience in their project, then they can confidently go away and say, hey, we’re pretty happy with what we’ve got.

\n\n\n\n

We can definitely improve on that over time. But that is a huge milestone to be able to hit. And being able to have enough data, and enough research to confidently say that, I think is a really big win both for us and for our customers.

\n\n\n\n

[00:39:26] Nathan Wrigley: Sadly, Jo, time is the enemy, and I feel like we’ve just pulled back the lid a teeny tiny bit on the big subject of usability. Honestly, I reckon I could talk for another two hours on this at least. You know, because you’ve got into colours there and all sorts, and there’s just so many tendrils that we haven’t been able to explore. But we’ve prized it open a little bit, and so hopefully the listener to this has become curious. If they have, where would they find you? What’s a good place to discover you online?

\n\n\n\n

[00:39:53] Jo Minney: Yeah, so I think the best place is to hit up my personal blog, jominney.com. So it’s J O M I N N E Y .com. And I have a lot of stuff on there about usability, usability testing. I have a blog post that I wrote specifically for this talk that shares all of the resources that I used to put together the slides and everything. The talk itself will be on WordCamp TV. If you’re on socials and you want to hit me up, pretty much the only platforms I’m active on nowadays are LinkedIn and Bluesky, and I’m Jo Minney on both of them.

\n\n\n\n

[00:40:23] Nathan Wrigley: Jo Minney, thank you so much for chatting to me today. I really appreciate it.

\n\n\n\n

[00:40:27] Jo Minney: You’re most welcome, Nathan. Thanks for having me again.

\n
\n\n\n\n

Today, I bring you the first in a mini series of podcasts I recorded in person at WordCamp Asia in Manila. This flagship WordPress event brought together hundreds of WordPress professionals, enthusiasts and all manner of interested parties under one roof for a three day event – one contributor day, and two days of presentations.

\n\n\n\n

I tracked down several of the speakers and workshop organisers, and recorded them speaking about the subject they were presenting upon. I hope that you enjoy what they have to say.

\n\n\n\n

So on the podcast today we have the first of those conversations, and it’s with Jo Minney.

\n\n\n\n

Jo, based in Perth, Australia, is passionate about user experience, data-driven decision-making, cats, pockets and travel. She’s a small business founder, and works with organisations creating digital platforms with WordPress. She also freelances as a UX consultant. She volunteers with Mission Digital to address social issues using technology, and is an ambassador for She Codes Australia, promoting tech accessibility for women. Recognised as a 2023 Shining Star by Women in Technology Western Australia, Jo is an international speaker on topics like user experience, accessibility, and gender equality. She’s committed to ensuring a seamless user experience, and today shares her insights from practical, everyday usability testing.

\n\n\n\n

Jo’s presentation, entitled Budget-Friendly Usability Testing for WordPress helped attendees understand what usability testing is, x and clarified why it differs from other testing methods. She shares examples from her work, showing how small changes can significantly impact user experience, which is better for you, the website builder, and your client, the website owner.

\n\n\n\n

We also discuss how usability testing can transform a website’s effectiveness by improving conversions. Jo explains the importance of recruiting novice users for testing, and highlights how usability testing pushes for real, user-centered improvements.

\n\n\n\n

Towards the end, Jo shares practical advice on when and how to integrate usability testing into your process, advocating for early and iterative testing to preemptively address potential issues.

\n\n\n\n

If you’re looking to gain a deeper understanding of usability testing and its benefits, this episode is for you.

\n\n\n\n

Useful links

\n\n\n\n

WordCamp Asia in Manila

\n\n\n\n

Jo’s WordCamp Asia 2025 presentation: Budget-Friendly Usability Testing for WordPress

\n\n\n\n

InstaWP

\n\n\n\n

Think Aloud Protocol

\n\n\n\n

Jo Minney’s website

\n\n\n\n

Jo on Bluesky

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Mar 2025 18:37:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"Do The Woo Community: Building Trust and Converting Sales with Simple UX Decisions with Marc McDougall\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93465\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"https://dothewoo.io/building-trust-and-converting-sales-with-simple-ux-decisions-with-marc-mcdougall/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:198:\"In this episode of Woo DevChat, hosts discuss UX design and CRO with Marc McDougall, who shares insights on common misconceptions, mistakes, and the evolving role of AI in enhancing user experience.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Mar 2025 15:58:22 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"Do The Woo Community: Get Ready for the Atarim Web Agency Summit 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=93450\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"https://dothewoo.io/blog/get-ready-for-the-atarim-web-agency-summit-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:359:\"The Atarim Web Agency Summit 2025, scheduled for April 7-11, is a free virtual event for web professionals. Featuring over 40 expert-led sessions, it offers actionable insights for agency growth, networking opportunities, and access to industry leaders. Registration is free, with replay options available, making it essential for anyone in the digital space.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Mar 2025 15:08:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:135:\"HeroPress: With open arms – friendships in the WordPress community – Su atviromis rankomis – draugystės WordPress bendruomenėje\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://heropress.com/?post_type=heropress-essays&p=7820\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"https://heropress.com/essays/with-open-arms-friendships-in-the-wordpress-community/#utm_source=rss&utm_medium=rss&utm_campaign=with-open-arms-friendships-in-the-wordpress-community\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:19273:\"\"Pull

Šį rašinį galima rasti ir lietuvių kalba.

\n\n\n\n

Truth be told, unlike my husband, I have never been the most social person. At a party, you’ll usually find me talking to the dog (or cat). Throughout my life, I’ve only had a few close friends, and I’d rather be reading a book than going to a concert. While WordPress has been a huge part of the growth of my business, I’d like to take this opportunity to discuss something much more important – the friendships that I have formed through this wonderful community.

\n\n\n\n
\n

Due to WordPress, I have some truly spectacular friends in my life.

\n
\n\n\n\n

While we may have started as strangers, we moved into attending each other’s weddings, laughing until we’re crying while packing hundreds of swag orders, holding hands in a hospital bed and being there for each other through thick and thin. Being a privacy lawyer, I won’t name any names here but you’ll probably be able to tell pretty quickly if I’m writing this about you. 

\n\n\n\n

A little backstory 

\n\n\n\n

When I was finishing up law school, I worked at a small web design agency in Chicago as their COO. I met my husband, Hans, who was the owner of a different agency when he came to buy us out. It was love at first sight (yes, really) and we have been inseparable ever since. We shared our struggles and annoyances over dinner one night – writing Privacy Policies for clients was monotonous for me and he had no idea what to do when a client asked him about website policies. So we created Termageddon – an auto-updating website policies solution for agencies and their clients. Since we started an agency partner program, we knew that we had to find agencies who would be willing to try our new product and that’s when we came across WordCamps and the WordPress community. 

\n\n\n\n

Our first WordCamp 

\n\n\n\n

WordPress has a huge community and going to a large WordCamp such as WordCamp US when you don’t know anyone can be really scary (especially for an introvert like me) so we thought that we’d get our feet wet with a smaller WordCamp nearby. Enter WordCamp Jackson, Michigan.

\n\n\n\n
\n

Driving into the most adorable small city that we have ever visited, we were very nervous – what if no one wanted to talk to us? 

\n
\n\n\n\n

These fears were quickly dispelled when we walked into a room with about 30 friendly faces. Even the mayor was in attendance! During a break, we all sat on couches and our new friends helped us come up with the design for our very first swag item: a t-shirt with a pirate asking “Arrrr you compliant?”. I still smile every time I put it on. The next thing we know, the informative presentations are over and we’re all piling into cars and going to an escape room. The friendships formed during that event have lasted many years. In fact, one of our friends from that very first WordCamp helped us build our chicken coop. 

\n\n\n\n

Come on over! 

\n\n\n\n

A while later, my husband went to London and met a friend through a non-WordPress event and they truly hit it off (seriously, they have a standing call twice per month for five years now). A few months later, it was time for our first WordCamp US and our friend flew from the UK to Chicago to stay with us and our plan was to take a road trip and drive from our home to the WordCamp. Well, it just so happened that his other friend who was also going to WordCamp (someone we haven’t met before), missed his flight. Our friend called us to explain the situation and asked whether he could change his flight to Chicago, stay with us and join our road trip. We said “come on over!” Well, that missed flight led to the best trip of all time and a lifelong friendship.

\n\n\n\n

I’ll always remember him walking me to the store to buy some tea on a cold evening, all of us posing for a picture next to the St. Louis arch, hanging out in various hotels and Airbnb’s throughout the years, sharing stories from our youth, marveling at the excitement and joy of growing families, and supporting each other’s business ventures. We’ve seen each other many times throughout the years on various trips and WordCamps and I think of us as our core group at these events – a safe space amidst all of the chaos. 

\n\n\n\n

Better together 

\n\n\n\n

When you start establishing yourself in an industry or a community, you may think of other people in the space as competitors. While it’s certainly not the best trait that humanity has to offer, I think that this happens more frequently than we would like to admit. When I was new in the WordPress community, there was an established privacy attorney who had been a part of that community for much longer than I have. Going to WordCamp US, I knew that she was going to be giving a speech on the California Consumer Privacy Act and how to comply with this privacy law. To be honest with myself and you, I was extremely nervous about meeting her. What if she thought that I was a competitor? What if she disliked me? What if there’s not enough room for two privacy lawyers at this event? Should I just hide throughout the entire event to make sure that she doesn’t see me? 

\n\n\n\n

It’s true that we create these extreme scenarios in our minds but reality is usually much different (and less scary). We quickly bonded over the fact that we were the only two people there who knew what CCPA even is and, by the end of the night, we were jammed together in an Uber going to a bar. Throughout the years, we have supported each other’s projects, participated in long evenings of conversations, shared our struggles and wins. Due to her kindness and welcoming nature, we did not head towards competition but are able to enjoy the benefits of a wonderful symbiosis and a true friendship. 

\n\n\n\n

Family for life 

\n\n\n\n

Hanging out with your friends at WordCamps is fun but it’s even more fun when your friendship progresses to the point where your friends fly over to hang out at your home. Well, in this case, we only got to hang out for one day before my friend got very sick. Not the “I have the flu” kind of sick, the over a week in the ICU and months in the hospital kind of sick. 

\n\n\n\n

Throughout that time, we met her family, who stayed with us for a while as we live very close to the hospital. While this time was certainly grueling for everyone involved, it also shed a new perspective on how friends get through tough times. Whether it was rides to the hospital, sitting together, crying together, making home cooked meals, celebrating every win, no matter how small, the friendship, the community, and the knowledge that we were there for each other let us make it through this difficult time. The day that she got out of the hospital was truly miraculous.

\n\n\n\n
\n

And now, we are most certainly not just WordCamp friends, we’re family – for life. 

\n
\n\n\n\n

The little things 

\n\n\n\n

Up to this point in my life, I have been a part of many communities – from school, to dance groups, to attorney associations, to my local neighborhood, each community has had something special to offer. However, I have never been involved with another community that is as welcoming or that has led to the formation of so many wonderful friendships as WordPress. From sharing a beer (or a boot of beer), to attending our wedding through Zoom (2020), to making a flower crown, to eating so much sushi that I could barely walk back to the Airbnb, to corn mazes and petting zoos, and touring a submarine together, I am truly thankful that the WordPress community has welcomed me with open arms and I hope that I can do the same for others! 

\n\n\n
\n\n
\n

Donata’s Work Environment

\n\n\n\n

We asked Donata for a view of her office this is what she sent!

\n\n\n
\n \"Donata\n
\n\n\n\n\n

HeroPress would like to thank Draw Attention for their donation of the plugin to make this interactive image!

\n
\n\n
\n\n\n\n\n

Su atviromis rankomis – draugystės WordPress bendruomenėje

\n\n\n\n

Tiesą sakant, kitaip nei mano vyras, niekada nebuvau pati socialiausia asmenybė. Vakarėlyje mane dažniausiai rastumėte kalbančią su šunimi (ar kate). Visą savo gyvenimą turėjau tik keletą artimų draugų, o knygos skaitymas man visada buvo malonesnis nei koncerto lankymas. Nors WordPress atliko didžiulį vaidmenį plėtojant mano verslą, norėčiau pasinaudoti šia proga ir pakalbėti apie kai ką daug svarbesnio – draugystes, kurias užmezgiau šioje nuostabioje bendruomenėje.

\n\n\n\n
\n

Dėl WordPress turiu iš tiesų nuostabių draugų savo gyvenime.

\n
\n\n\n\n

Nors pradėjome kaip svetimi, mes tapome tais, kurie dalyvauja vienas kito vestuvėse, juokiasi iki ašarų pakuodami šimtus reklaminių dovanų, laiko vienas kitam ranką ligonines lovoje ir būna kartu per storą ir ploną. Kadangi esu privatumo teisininkė, nemininesiu vardų, tačiau tikriausiai greitai suprasite, jei rašau apie jus.

\n\n\n\n

Trumpa istorija

\n\n\n\n

Kai baiginėjau teisės studijas, dirbau mažoje interneto dizaino agentūroje Čikagoje kaip COO. Ten sutikau savo vyrą Hansą, kuris buvo kitos agentūros savininkas, kai jis atvyko mus nupirkti. Tai buvo meilė iš pirmo žvilgsnio (taip, tikrai), ir nuo to laiko mes esame neatskiriami. Vieną vakarą dalinomės savo sunkumais ir nepasitenkinimais – man buvo nuobodu rašyti privatumo politikos dokumentus klientams, o jis net nežinojo, ką daryti, kai klientas paprašydavo interneto svetainės politikos. Taip gimė Termageddon – automatiškai atnaujinamas interneto svetainių politikos sprendimas agentūroms ir jų klientams. Kadangi pradėjome agentūrų partnerių programą, turėjome rasti agentūras, kurios būtų pasiruošusios išbandyti mūsų naują produktą, ir tada mes atradome WordCamps ir WordPress bendruomenę.

\n\n\n\n

Mūsų pirmasis WordCamp

\n\n\n\n

WordPress turi didžiulę bendruomenę, o vykstant į didelį WordCamp renginį, pavyzdžiui, WordCamp US, kai nieko nepažįsti, gali būti labai baisu (ypač tokiai intravertei kaip aš), todėl nusprendėme pradėti nuo mažesnio WordCamp netoli mūsų. Taip mes atsidūrėme WordCamp Jackson, Mičiganas.

\n\n\n\n
\n

Važiuodami į vieną mieliausių mažų miestelių, kokius tik esame matę, labai nervinomės – o kas bus jei niekas nenorės su mumis kalbėtis?

\n
\n\n\n\n

Šios baimės greitai išnyko, kai įėjome į kambarį su maždaug 30 draugiškų veidų. Netgi miesto meras dalyvavo! Per pertrauką visi susėdome ant sofų, o naujieji draugai padėjo mums sukurti mūsų pirmojo reklaminių dovanų daikto dizainą: marškinėlius su piratu, klausiančiu “Arrrr you compliant?” (Ar esate atitinkantys?). Vis dar šypsausi, kai juos apsivelku. Nespėjome apsidairyti, o jau po naudingų pranešimų visi susėdome į automobilius ir vykome į pabėgimo kambarį. Draugystės, užmezgtos šio renginio metu, tęsiasi jau daugelį metų. Tiesą sakant, vienas iš mūsų draugų iš to pirmojo WordCamp padėjo mums pastatyti vištų tvartą.

\n\n\n\n

Užeikit!

\n\n\n\n

Kiek vėliau mano vyras išvyko į Londoną ir susipažino su draugu per ne-WordPress renginį, ir jie tikrai susidraugavo (rimtai, jie kalbasi kas dvi savaites jau penkerius metus). Po kelių mėnesių atėjo metas mūsų pirmajam WordCamp US, ir mūsų draugas nuskrido iš JK į Čikagą, kad apsistotų pas mus, o mūsų planas buvo keliauti automobiliu nuo namų iki WordCamp. Tačiau nutiko taip, kad jo kitas draugas, kuris taip pat vyko į WordCamp (mes jo dar nebuvome sutikę), praleido savo skrydį. Mūsų draugas paskambino mums, paaiškino situaciją ir paklausė, ar jo draugas gali pakeisti skrydį į Čikagą, apsistoti pas mus ir prisijungti prie mūsų kelionės. Mes pasakėme: “Užeikit!” Tas praleistas skrydis privedė prie geriausios kelionės gyvenime ir viso gyvenimo draugystės.

\n\n\n\n

Aš visada prisiminsiu, kaip jis lydėjo mane į parduotuvę nusipirkti arbatos šaltą vakarą, kaip visi kartu pozavome nuotraukai prie Saint Louis arkinio paminklo, kaip per daugelį metų leisdavome laiką įvairiuose viešbučiuose ir Airbnb, dalijomės jaunystės istorijomis, stebėjomės augančių šeimų džiaugsmu ir jauduliu bei palaikėme vieni kitų verslo sumanymus. Per daugelį metų matėmės daugybę kartų įvairių kelionių ir WordCamp renginių metu, ir aš mus laikau pagrindine grupe šiuose renginiuose – saugia vieta viso šurmulio apsuptyje.

\n\n\n\n

Geriau kartu

\n\n\n\n

Kai pradedate įsitvirtinti tam tikroje pramonėje ar bendruomenėje, galite pagalvoti, kad kiti žmonės šioje srityje yra konkurentai. Nors tai tikrai nėra geriausia žmonijos savybė, manau, kad taip nutinka dažniau, nei norėtume pripažinti. Kai buvau naujokė WordPress bendruomenėje, buvo viena pripažinta privatumo teisininkė, kuri buvo šios bendruomenės dalis daug ilgiau nei aš. Važiuodama į WordCamp US,  žinojau kad ji ketina skaityti pranešimą apie Kalifornijos vartotojų privatumo įstatymą (CCPA) ir kaip laikytis šio privatumo įstatymo. Būsiu atvira – man buvo labai neramu ją sutikti. O kas, jei ji manytų, kad esu konkurentė? O jei jai nepatikčiau? O jei šiame renginyje nepakaktų vietos dviem privatumo teisininkėms? Gal man geriau viso renginio metu slėptis, kad tik ji manęs nepastebėtų?

\n\n\n\n

Tiesa ta, kad dažnai kuriame kraštutinius scenarijus savo galvose, bet realybė dažniausiai būna visai kitokia (ir mažiau bauginanti). Greitai susidraugavome, nes supratome, kad esame vienintelės dvi moterys renginyje, kurios iš viso žinojo kas yra CCPA. Vakaro pabaigoje jau spraudėmės kartu į Uber važiuodamos į barą. Per tuos metus palaikėme viena kitos projektus, dalijomės ilgais pokalbiais vakarais, kartu išgyvenome sunkumus ir džiaugėmės pasiekimais. Dėl jos geranoriškumo ir svetingumo nepasukome konkurencijos keliu, o galėjome džiaugtis nuostabia simbioze ir tikra draugyste.

\n\n\n\n

Šeima visam gyvenimui

\n\n\n\n

Leisti laiką su draugais „WordCamp“ renginiuose yra smagu, bet dar smagiau, kai draugystė tampa tokia stipri, kad draugai atskrenda pas jus tiesiog pabūti kartu. Na, šiuo atveju, mes spėjome pabūti tik vieną dieną, kol mano draugė labai susirgo. Ne „turiu gripą“ lygio susirgo, o taip, kad teko praleisti daugiau nei savaitę reanimacijoje ir kelis mėnesius ligoninėje.

\n\n\n\n

Tuo sunkiu metu susipažinome su jos šeima, kuri kurį laiką gyveno pas mus, nes gyvename labai arti ligoninės. Nors šis laikotarpis tikrai buvo alinantis visiems, jis taip pat suteikė naują perspektyvą, kaip draugai išgyvena sunkius laikus kartu. Nesvarbu, ar tai buvo kelionės į ligoninę, sėdėjimas kartu, verksmas kartu, naminiai patiekalai ar kiekvienos, net ir mažiausios pergalės šventimas – draugystė, bendruomenė ir žinojimas, kad esame vieni kitiems, padėjo mums išgyventi šį sunkų laikotarpį. Diena, kai ji išėjo iš ligoninės, buvo tikras stebuklas.

\n\n\n\n
\n

Dabar mes tikrai ne tik WordCamp draugės – mes šeima visam gyvenimui.

\n
\n\n\n\n

Mažos smulkmenos 

\n\n\n\n

Iki šiol mano gyvenime buvo daugybė bendruomenių – nuo mokyklos, šokių grupių, teisininkų asociacijų iki mano vietinės kaimynystės – kiekviena bendruomenė turėjo ką nors ypatingo. Tačiau niekada nebuvau dalis kitos bendruomenės, kuri būtų tokia svetinga ir kuri būtų padovanojusi tiek daug nuostabių draugysčių kaip WordPress. Nuo alaus bokalo (arba alaus bato) dalijimosi, iki mūsų vestuvių stebėjimo per Zoom (2020 m.), iki gėlių vainikų pynimo, iki tiek daug sušio valgymo, kad vos galėjau pareiti atgal į „Airbnb“, iki kukurūzų labirintų ir gyvūnų ūkių lankymo, ir net povandeninio laivo ekskursijos – esu nuoširdžiai dėkinga, kad WordPress bendruomenė mane priėmė atviromis rankomis, ir tikiuosi, kad galėsiu padaryti tą patį kitiems!

\n

The post With open arms – friendships in the WordPress community – Su atviromis rankomis – draugystės WordPress bendruomenėje appeared first on HeroPress.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Mar 2025 01:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"Donata Stroink-Skillrud\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"WordPress.org blog: WordPress 6.8 Release Candidate 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18639\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/news/2025/03/wordpress-6-8-release-candidate-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:9140:\"

The first Release Candidate (“RC1”) for WordPress 6.8 is ready for download and testing!

\n\n\n\n

This version of the WordPress software is under development.  Please do not install, run, or test this version of WordPress on production or mission-critical websites.  Instead, it’s recommended that you evaluate RC1 on a test server and site.

\n\n\n\n

Reaching this phase of the release cycle is an important milestone.  While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.

\n\n\n\n

You can test WordPress 6.8 RC1 in four ways:

\n\n\n\n
PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install.  (Select the “Bleeding edge” channel and “Beta/RC Only” stream).
Direct DownloadDownload the RC1 version (zip) and install it on a WordPress website.
Command LineUse the following WP-CLI command: wp core update --version=6.8-RC1
WordPress PlaygroundUse the 6.8 RC1 WordPress Playground instance (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.
\n\n\n\n

You can test the RC1 version in four ways.

\n\n\n\n

The current target for the WordPress 6.8 release is April 15, 2025.  Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for further details.

\n\n\n\n

What’s in WordPress 6.8 RC1?

\n\n\n\n

Get a recap of WordPress 6.8’s highlighted features in the Beta 1 announcement.  For more technical information related to issues addressed since Beta 3, you can browse the following links:

\n\n\n\n\n\n\n\n

Want to look deeper into the details and technical notes for this release? These recent posts cover some of the latest updates:

\n\n\n\n\n\n\n\n

How you can contribute

\n\n\n\n

WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development.  The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.

\n\n\n\n

Get involved in testing

\n\n\n\n

Testing for issues is critical to ensuring WordPress is performant and stable.  It’s also a meaningful way for anyone to contribute.  This detailed guide will walk you through testing features in WordPress 6.8.  For those new to testing, follow this general testing guide for more details on getting set up.

\n\n\n\n

If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report.  You can also check your issue against a list of known bugs.

\n\n\n\n

Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

Search for vulnerabilities

\n\n\n\n

From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the monetary reward for reporting new, unreleased security vulnerabilities is doubled.  Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

\n\n\n\n

Update your theme or plugin

\n\n\n\n

For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.

\n\n\n\n

Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases.  With RC1, you’ll want to conclude your testing and update the “Tested up to” version in your plugin’s readme file to 6.8.

\n\n\n\n

If you find compatibility issues, please post detailed information to the support forum.

\n\n\n\n

Help translate WordPress

\n\n\n\n

Do you speak a language other than English?  ¿Español?  Français?  Русский?  日本語? हिन्दी? বাংলা? मराठी?  You can help translate WordPress into more than 100 languages.  This release milestone (RC1) also marks the hard string freeze point of the 6.8 release cycle.

\n\n\n\n

An RC1 haiku

\n\n\n\n

March fades, nearly there,
Six-eight hums—a steady beat,
RC greets the world.

\n\n\n\n

Thank you to the following contributors for collaborating on this post: @joemcgill @benjamin_zekavica @courane01 @mkrndmane @audrasjb @areziaal @ankit-k-gupta @krupajnanda.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Mar 2025 16:19:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"Do The Woo Community: A Continued Saga About the Life of Blog Posts\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=93306\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://dothewoo.io/blog/a-continued-saga-about-the-life-of-blog-posts/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:225:\"BobWP chats about the importance of adding content instead of removing it, expressing commitment to producing more podcasts, videos, and blog posts despite claims of blog irrelevance, valuing audience engagement over metrics.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Mar 2025 13:01:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"Do The Woo Community: On the Floor at CloudFest 2025 with Adam Weeks and Christian Taylor\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93275\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"https://dothewoo.io/on-the-floor-at-cloudfest-2025-with-adam-weeks-and-christian-taylor/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:226:\"Adam Weeks and Christian Taylor explore CloudFest, assessing booth designs and marketing strategies. They discuss visual engagement, effective messaging, and the significance of interactive experiences in attracting attendees.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Mar 2025 07:46:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"Do The Woo Community: How AI is Reshaping Enterprise WordPress in 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=91953\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:74:\"https://dothewoo.io/blog/how-ai-is-reshaping-enterprise-wordpress-in-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:191:\"AI is transforming enterprise WordPress through coding tools and personalization, but poses risks requiring careful integration and oversight amidst evolving challenges and security concerns.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 24 Mar 2025 11:40:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"Gutenberg Times: Get ready for WordPress 6.8, Source of Truth, a book, and code with AI — Weekend Edition 322\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=38031\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:115:\"https://gutenbergtimes.com/get-ready-for-wordpress-6-8-source-of-truth-a-book-and-code-with-ai-weekend-edition-322/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:21353:\"

Hi, the spring is coming to Munich this weekend, or that’s what the forecast tells us. With temperatures around 18 °C / 64° F, I will spend a few hours outside on long walks in the Englisch Garden and possible get my bicycle working again. I am looking forward to getting away from the screens all together and having in-person conversations with my cousin and his wife. They are accomplished musicians and different kind of nerds.

\n\n\n
\n

🔖 What kind of activities are in your future and are they also determined by the weather like mine? Hit reply and let me know.

\n
\n\n\n

Yours, 💕
Birgit

\n\n\n\n

PS: I just started my travel preparation for WordCamp Europe. Want to meet me? bit.ly/WCEUMeetBirgit

\n\n\n\n\"\"\n\n\n\n\n\n\n\n

Developing Gutenberg and WordPress

\n\n\n\n

WordPress 6.8 Beta 3 was released on March 18, 2025, and it is ready for testing. If you need inspiration and instruction on how and what to test, the test team’s post is for you. Help Test WordPress 6.8.

\n\n\n\n
\n\n\n\n

Joe Dolson published the dev note on Changes to the .screen-reader-text class in WordPress 6.8 The .screen-reader-text class replaces the deprecated clip property with clip-path: inset(50%) for modern browser compatibility and accessibility improvements. Focus styles remain unchanged to ensure visibility during keyboard navigation. Developers should update themes and plugins using .screen-reader-text to align with these changes for future-proofing.

\n\n\n\n
\n\n\n\n

A group of contributors collaborated on the Source of Truth (WordPress 6.8). Learn everything about enhanced data views, query loops, and block interactions. Also about the more cohesive design experience through the Zoom Out editing approach, expanded style controls, and improved typography options. WordPress 6.8 is scheduled to be released on April 15, 2025

\n\n\n\n\"\"\n\n\n\n
\n\n\n\n

George Mamadashvili released Gutenberg 20.5 and the changelog is available on GitHub. Among the updates you’ll find

\n\n\n\n
    \n
  • the ability to create a new page from the button block added to a site navigation, (69368)
  • \n\n\n\n
  • the pages list in the site editor can now display hierarchical relationship similar to the current pages list page, (69550)
  • \n\n\n\n
  • developers can now control the modal size called via DataViews action functions (69302)
  • \n
\n\n\n\n
\n\n\n\n

Troy Chaplin published What’s new for developers? (March 2025) on the WordPress Developer blog. He covers Gutenberg 20.3 and 20.4 as well as updates around the WordPress 6.8 release cycle.

\n\n\n\n
\n\n\n\n

As one of the first to cover the upcoming major release, Nithin Sreeraj at WP-Content posted WordPress 6.8 Expected Features and Changes.

\n\n\n\n
\n

🎙️ Latest episode: Gutenberg Changelog 115 – Gutenberg Releases 20.2, 20.3, 20.4, WordPress 6.8 and WordCamp Asia with special guest Jessica Lyschik.

\n\n\n\n\"Jessica\n
\n\n\n\n

Plugins, Themes, and Tools for #nocode site builders and owners

\n\n\n\n

Bhargav (Bunty) Bhandari takes building in public quite literally. This time he created a Poll block for WordPress. It allows you to create interactive polls directly within the WordPress Block Editor, with design tools, voting options and results in real time. The code is available on GitHub until he submits it to the WordPress repository.

\n\n\n\n\"\"\n\n\n\n

Jamie Marsland runs an always friendly and welcoming WordPress Gutenberg Facebook group! The description read: “A community for Gutenberg users to learn, share, and explore tips on building WordPress websites using the Blocks Editor.” It’s a private group, too. Marsland wrote: “Whether you need help with WordPress editing or want to share your knowledge, we’d love to have you.”

\n\n\n\n\"\"\n\n\n\n

Theme Development for Full Site Editing and Blocks

\n\n\n\n

Some people like to learn via videos; other people prefer books.

\n\n\n\n

Koji Kuno, a web developer from Japan and contributor to WordPress, published a book called Creating a Website with Twenty-Twenty-Five in late 2024. This book is designed for beginners who want to learn how to create websites using WordPress 6.7 and its newest theme, Twenty-Twenty-Five.

\n\n\n\n

The book starts by explaining the basics of WordPress, including how its block themes, block editor, and site editor work. Once readers understand these concepts, Kuno dives deeper into the Twenty-Twenty-Five theme. He provides a detailed overview of the theme’s files, layout structures, style options for blocks and fonts, and how templates and patterns connect to each other.

\n\n\n\n

Kuno also includes step-by-step guides for building two types of websites: a blog site and a coffee shop site. He uses clear explanations and helpful graphics to make everything easy to follow, even for beginners. While most of the instructions focus on using WordPress’s site editor, Kuno also touches on the underlying code for certain features, such as supporting post formats.

\n\n\n\n

Overall, the book strikes a good balance between practical tutorials and technical insights. It’s an excellent resource for anyone looking to learn website design with WordPress in an approachable way.

\n\n\n\n\"\"Screenshot of Patterns and how they fit into the template structure of Twenty-Twenty-Five. (Page 44) \n\n\n\n
\n\n\n\n

Elliot Richmond experimented with Cursor AI to build a Block Theme. You can follow along on YouTube and see he is using Cursor AI for refactoring and code generation, about the challenges and results of AI-generated block themes, and some lesson learned turned into best practices .

\n\n\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

In his post Additional Block Styles for Child Themes, Silvan Hagen shares how you can block styles by copying the relevant CSS file from the parent theme to the child theme and making adjustments. Hagen also provides a code snippet to append custom block styles from the child theme without overwriting the parent styles, by adding a function to the child theme’s functions.php file that enqueues the custom styles.

\n\n\n\n

 “Keeping up with Gutenberg – Index 2025” 
A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: 2020 | 2021 | 2022 | 2023 | 2024

\n\n\n\n

Building Blocks and Tools for the Block editor

\n\n\n\n

In his post, Local WordPress Development Workflows Using Studio , Nick Diego walks you through two development workflows using Studio by WordPress.com. He covers using Git Deployments to WordPress.com for your newly developed plugin or theme. In the second part of the article you’ll learn how to structure a complete website build, share a preview with clients and colleagues, and sync to a live site on WordPress.com.

\n\n\n\n\"Using\n\n\n\n
\n\n\n\n

Muhammad Muhsin, developer at Awesome Motive, used the WordPress Interactivity API to build a simple Stopwatch block. He is also working on a tutorial to go along with it. Meanwhile, you can study his code on GitHub next to the documentation of the Interactivity API.

\n\n\n\n
\n\n\n\n

In this week’s live stream, How to build incredible WordPress Blocks with Cursor AI, Ryan Welcher and Nick Diego explored how AI can help you create great WordPress blocks. They shared useful tips and cool AI tools to improve your block-building skills and make things easier. Don’t miss this chance to discover new possibilities for your WordPress site!

\n\n\n\n\"\"\n\n\n\n
\n\n\n\n

The @wordpress/data package introduces a data layer to the WordPress Block Editor, enabling efficient state management and interaction with the editor’s ecosystem.

\n\n\n\n

In two of his live streams, JuanMa Garrido embarked into the depth of the data package and discuss how to work with the data package. In Data in the Block Editor, part one, he explores the various stores, how to retrieve and update store data and dispatch actions. In Data In the Block Editor, part two, Garrido continues to work through the block editor documentation and the date layer course on learn.WordPress.org

\n\n\n
\n
\n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

In his live stream, Ryan Welcher walked his viewers through the work necessary to add tests to his Advanced Query Loop plugin so developers who want to extend on the plugin can test custom hooks.

\n\n\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

On his video channel, Jon Bossenger streams on his adventure using AI for coding. You find out with him what works and what doesn’t. In his latest video Let’s Vibe, he wanted to find out what Vibe Coding is all about and if it actually can produce functional software.

\n\n\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

Need a plugin .zip from Gutenberg’s master branch?
Gutenberg Times provides daily build for testing and review.

\n\n\n\n

Now also available via WordPress Playground. There is no need for a test site locally or on a server. Have you been using it? Email me with your experience

\n\n\n\n

\"GitHub

\n\n\n\n

Questions? Suggestions? Ideas?
Don’t hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.

\n\n\n\n
\n\n\n\n

For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com

\n\n\n\n
\n\n\n\n

Featured Image: Garage door and wall with rectangles of various colors painted on them for decoration Photo by Marcus Burnette found on WordPress.org/photos

\n\n\n\n
\n\n\n\n

Don’t want to miss the next Weekend Edition?

\n\n\n

We hate spam, too, and won’t give your email address to anyone
except Mailchimp to send out our Weekend Edition

Thanks for subscribing.
\n\n\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 22 Mar 2025 05:29:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"Matt: Automattic Operating System\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=140810\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"https://ma.tt/2025/03/aos/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5146:\"

I was interviewed by Inc magazine for almost two hours where we covered a lot of great topics for entrepreneurs but almost none of it made it into the weird hit piece they published, however since both the journalist and I had recording of the interview I’ve decided to adapt some parts of it into a series of blog posts, think of it as the Inc Article That Could Have Been. This bit talks about some of the meta-work that myself and the Bridge team at Automattic do.

At Automattic, the most important product I work on is the company itself. I’ve started referring to it as the “Automattic Operating System.” Not in the technical sense like Linux, but the meta layer the company runs on. The company isn’t WordPress.com or Beeper or Pocket Casts or any one thing. I’m responsible for the culture of the people who build those things, building the things that build those things. It’s our hiring, our HR processes, our expenses, the onboarding docs; it’s all of the details that make up the employee experience — all the stuff that shapes every employee’s day-to-day experience.

\n\n\n\n

Take expense reports. If you’ve got to spend two hours taking pictures of receipts and something like that, that’s a waste of time. You’re not helping a customer there. We switched to a system where everyone just gets a credit card. It does all the reporting and accounting stuff automatically. You just swipe the card and it just automatically files an expense report. Sometimes there’s an exception and you have to work with the accounting rules, but it just works and automates the whole process most of the time.

\n\n\n\n

Another commonly overlooked detail is the offer letter. We think so much about the design of our websites and our products. We have designers work on that and we put a lot of care and thought into it. But I realized we didn’t have the same attention to detail on our offer letter. When you think about it, getting an offer letter from a company and deciding to take it is a major life decision, something you only do a handful of times in your life. This is one of the things that determines your life path. Our offer letter was just made by attorneys and HR. No designer had looked at it right. We hadn’t really thought about it from a product experience point of view. And so it was just this, generic document with bad typography and not great design. But it’s important, so one of the things we did was redesign it. Now it has a nice letterhead, great typography, and it’s designed for the end user.

I realized that the salary and stuff was buried in paragraph two. It was just a small thing in the document! Well, what’s key when you’re deciding whether to take a job? Start date, salary, you know, that sort of thing, so we put the important parts at the very top.

\n\n\n\n

And then there’s the legal language. All the legal stuff, which is different in every country. We have people in 90 countries, so there’s all the legal stuff that goes in there. And then it has this nudge inspired by the behavioral economics book, Predictably Irrational.

There’s the story about how, if you have an ethics statement above where you sign the test or something, people cheat less. So I thought, well, what’s our equivalent of that? We have the Automattic Creed. It’s an important part of our culture. So we put the creed in, it says

\n\n\n\n
\n

I will never stop learning. I won’t just work on things that are assigned to me. I know there’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before I knew everything. I am more motivated by impact than money, and I know that Open Source is one of the most powerful ideas of our generation. I will communicate as much as possible, because it’s the oxygen of a distributed company. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. Given time, there is no problem that’s insurmountable.

\n
\n\n\n\n

It’s not legally binding, but it’s written in the first person, you read it and you kind of identify with it and then you sign below that. We want people who work at the company who identify with our core values and our core values really are in the creed.

\n\n\n\n

These sorts of things are key to our culture. And they’re universal. Again, we have people from over 90 countries. These are very different cultures, yes, and very different historical backgrounds and cultural makeups. But what’s universal? We have our philosophies that we apply every day regardless of where you were born or where you work.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Mar 2025 22:15:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"Gravatar: Digital Business Card Examples With Professional Flair\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3083\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://blog.gravatar.com/2025/03/21/digital-business-card-examples/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:19747:\"

Looking for digital business card examples that actually work? Networking has changed, but the need to make a strong first impression hasn’t, and business cards are a big part of it. So, if you’re looking for inspiration, we’ll show you real digital business cards from various industries that successfully blend professional presentation with practical functionality.

\n\n\n\n

Our list includes sleek corporate profiles and creative designs for artists and freelancers, each a great example of how to make your information accessible while maintaining your personal brand. 

\n\n\n\n

By the end of this article, you’ll have actionable ideas for creating your own digital business card. And the best part? You can set up a free, customizable digital business card in minutes using Gravatar – no coding or design skills required.

\n\n\n\n

Universal Digital Business Cards with Gravatar

\n\n\n\n\"Ronnie\n\n\n\n

Looking at my Gravatar profile, you can see how it functions as a complete digital business card that travels with me across the web. I’ve personally included a professional headshot, custom banner image, some interesting images, and verified links to all my social profiles. These sections are completely customizable, and what you include depends entirely on your goals. 

\n\n\n\n

What makes this especially useful for networking is the QR code functionality. When meeting someone at a conference or event, I can quickly pull up my Gravatar profile QR code from my phone’s digital wallet. With one quick scan, my new contact instantly has access to all my professional information.

\n\n\n\n\"Adding\n\n\n\n
\n

Anyone who scans my QR code can immediately connect with me through multiple channels – they can view my contact details, send me money, or browse through my featured photos for a more personal touch. No more fumbling with paper cards or manually typing contact info into phones.

\n
\n\n\n\n

As a technical professional, my Gravatar profile is quite literally the foundation of my online presence. When I contribute to GitHub, post on Stack Overflow, or communicate through Slack, my Gravatar profile appears automatically, helping me build a more recognizable personal brand.

\n\n\n\n\"Ronnie\n\n\n\n

The best part? I only need to update my information in one place. If I change roles or add new contact methods, updating my Gravatar profile instantly refreshes my presence across all integrated platforms – saving time and ensuring consistency.

\n\n\n\n

Want to create your own universal digital business card? Sign up at Gravatar.com using just your email address. It takes minutes to set up but provides lasting professional benefits everywhere you go online.

\n\n\n\n\"\"\n\n\n\n

Industry-Specific Showcases: Real Estate to Tech Professionals

\n\n\n\n

Real estate agents face unique networking challenges – they need to connect instantly with potential buyers and showcase properties efficiently. Digital business cards can help in this process by offering scannable QR codes that provide immediate connections with house hunters.

\n\n\n\n

Take Liz Nitz’s digital business card as an example. 

\n\n\n\n\"Liz\n\n\n\n

As a Bozeman-based real estate agent, her Gravatar profile functions as a powerful lead generation tool. When potential clients scan her QR code, they gain instant access to her contact information plus direct links to her real estate website, where current property listings are just a tap away. This approach eliminates friction in the buying process – no typing long URLs or searching for contact details.

\n\n\n\n

The benefits go beyond real estate into technical fields where showing your expertise is extremely important. Tech professionals use digital business cards to highlight their portfolios, technical skills, and ongoing projects.

\n\n\n\n

Simon Willison, founder of Datasette, demonstrates this approach effectively through his GitHub profile. 

\n\n\n\n\"Simon\n\n\n\n

His presence includes links to his technical blog and personal projects, creating a comprehensive snapshot of his expertise. Visitors can easily contact him while exploring his work samples – all from a single profile.

\n\n\n\n

What makes this especially powerful for tech professionals is GitHub’s integration with Gravatar. When developers update their Gravatar profile picture, those changes automatically appear on GitHub and ensure a consistent, professional presence without requiring multiple updates.

\n\n\n\n

For many industries, digital business cards eliminate the limitations of paper while adding dynamic elements like direct portfolio access, property listings, and instant contact options – turning a simple introduction into a potential business opportunity.

\n\n\n\n

Creative examples for freelancers and artists

\n\n\n\n

For creative professionals, first impressions matter tremendously. Digital business cards give artists and freelancers a powerful advantage – the ability to showcase their actual work during initial meetings rather than just talking about it.

\n\n\n\n

Jonathan H. Kantor’s digital business card perfectly demonstrates this advantage. 

\n\n\n\n\"Jonathan\n\n\n\n

As an illustrator at Talking Bull Games, his Gravatar profile displays samples of his artwork directly on the card itself. New contacts can immediately see his illustration style and quality before clicking through to his full portfolio website. This visual introduction creates an instant connection that paper cards simply cannot match.

\n\n\n\n

Similarly, Shannon Cutts uses her digital business card to establish her credibility as a freelance writer. 

\n\n\n\n\"Shannon\n\n\n\n

Her profile links directly to her writing samples and service pages, allowing potential clients to quickly assess her style and expertise. This immediate access to her work helps her stand out in competitive pitching situations.

\n\n\n\n

Both Jonathan and Shannon have enhanced their cards with integrated QR codes connected to payment systems. This smart addition means that when someone appreciates their work, they can commission or purchase it on the spot by sending payment directly to the artist’s designated eWallet. No invoicing delays or payment friction – just a seamless transaction from introduction to sale, all through a digital business card.

\n\n\n\n

Corporate digital cards that mean business

\n\n\n\n

Corporate professionals require business cards that convey expertise, professionalism, and comprehensive information. Thomas McCorry’s digital business card exemplifies this approach perfectly.

\n\n\n\n\"Thomas\n\n\n\n

His Gravatar profile is like a mini-CV, with a detailed bio section outlining his professional history and accomplishments. The card includes direct links to his personal website, portfolio of work, and LinkedIn profile – all organized in a clean, accessible format alongside professional photographs.

\n\n\n\n

This structured approach gives potential clients and contacts an immediate sense of Thomas’s experience and capabilities at a glance. Rather than trying to cram limited information onto a paper card, his digital version provides depth without overwhelming the viewer. Someone meeting Thomas can quickly understand his background and then access more detailed supporting materials about specific projects or expertise areas with a single tap.

\n\n\n\n

Charles Leisure takes corporate networking a step further by connecting a QR code to his digital business card. 

\n\n\n\n\"Charles\n\n\n\n

This practical addition allows him to instantly share his complete professional profile during meetings or conferences by simply opening the QR code stored in his Apple or Google Wallet. Contacts can scan the code with their smartphone and immediately have all his information saved – eliminating the traditional business card exchange and ensuring his information never gets lost in a pocket or briefcase.

\n\n\n\n

How to Create Your Perfect Digital Business Card with Gravatar

\n\n\n\n

Creating a professional digital business card doesn’t require design skills or technical expertise. Anyone can set up a functional, customizable card like the examples showcased in this article by signing up for a free Gravatar profile.

\n\n\n\n

Getting started takes just minutes, and the process is straightforward:

\n\n\n\n
    \n
  1. Sign up using your email address – Visit Gravatar.com and click “Get Started Now.” Enter your email address and follow the verification steps. If you already have a WordPress.com account, you can connect it to speed up the process.
  2. \n
\n\n\n\n\"Creating\n\n\n\n

\n\n\n\n
    \n
  1. Add a professional headshot – Upload a high-quality photo that represents you well. The image will be cropped to a square format, so choose one where your face is clearly visible. For business purposes, opt for good lighting and a neutral background.
  2. \n
\n\n\n\n\"Adding\n\n\n\n
    \n
  1. Insert verified links and social media profiles – Add your website, portfolio, and social media accounts. Gravatar verifies these connections, adding credibility to your profiles with a verification badge that builds trust with new contacts.
  2. \n
\n\n\n\n\"Adding\n\n\n\n
    \n
  1. Add a professional bio – Craft a concise, compelling description that highlights your expertise and unique value. Think of this as your elevator pitch in written form – clear, engaging, and focused on what makes you stand out.
  2. \n
\n\n\n\n\"Adding\n\n\n\n
    \n
  1. Add relevant images – Beyond your profile picture, you can add additional images that showcase your work, which is especially helpful for creative professionals wanting to display their portfolio directly on their card.
  2. \n
\n\n\n\n\"Adding\n\n\n\n
    \n
  1. Create a QR code for easy profile sharing – Once your profile is complete, you can generate a QR code that links directly to your digital business card. This code can be added to your Apple or Google Wallet for easy sharing during in-person networking events.
  2. \n
\n\n\n\n\"Generating\n\n\n\n
    \n
  1. Customize the style and feel – Personalize your digital business card with custom backgrounds, banner images, and button styles that align with your personal or corporate branding.
  2. \n
\n\n\n\n\"Customize\n\n\n\n

With these seven simple steps, you’ll have a professional digital business card that works across platforms and makes networking more efficient and effective.

\n\n\n\n

Customization features and design possibilities

\n\n\n\n

Gravatar offers extensive customization options that let you create a truly personalized digital business card:

\n\n\n\n
    \n
  • Background options: Add unique solid colors or image backgrounds that align with your personal aesthetic or company branding. 
  • \n\n\n\n
  • Custom header/banner images: Feature your logo, portfolio samples, or professional photography that represents your work. 
  • \n
\n\n\n\n\"Header\n\n\n\n
    \n
  • Button style customization: Match link buttons to your overall design theme for a cohesive, professional appearance. 
  • \n
\n\n\n\n\"Customizing\n\n\n\n
    \n
  • Section rearrangement: Position the most important elements (like payment options) at the top of your profile for better usability. 
  • \n
\n\n\n\n\"Rearranging\n\n\n\n
    \n
  • Custom domains: Transform your profile from username.gravatar.com to yourname.social (or other extensions like .bio, .contact, and more). 
  • \n
\n\n\n\n

Privacy is also thoughtfully integrated into the design system. Gravatar gives you control over which information remains public (like your avatar and display name) and which stays private (such as phone numbers or birth dates). 

\n\n\n\n\"Adjusting\n\n\n\n

When a new site or app requests access to your non-public information, Gravatar will ask for your confirmation first.

\n\n\n\n

This privacy-first approach highlights one of Gravatar’s main strengths – functioning as a universal profile. Update your information once, and those changes instantly sync across all integrated platforms like WordPress, GitHub, and Slack, making your digital business card both customizable and remarkably efficient.

\n\n\n\n

Start Building Your Professional Digital Presence

\n\n\n\n

A free Gravatar profile offers the perfect solution for professionals seeking to establish a consistent online presence. More than just a digital business card, it functions as your unified identity across the web, appearing automatically on compatible platforms whenever you interact.

\n\n\n\n

Getting started takes just minutes. Visit Gravatar.com, enter your email address, and follow the simple verification steps to create your profile. Add a professional photo, customize your information, and start connecting your social accounts. The process is straightforward and designed for users of all technical skill levels.

\n\n\n\n

What truly sets Gravatar apart is its automatic synchronization capability. Once set up, your digital business card will appear seamlessly across WordPress.com, GitHub, Stack Overflow, and numerous other integrated platforms. 

\n\n\n\n

Start building your professional digital presence with Gravatar today!

\n\n\n\n\"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Mar 2025 15:26:48 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:115:\"Do The Woo Community: Introducing the Content Sparks Hosting Team: Derek Hanson, Rae Morey, Robbie Adair and BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93144\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://dothewoo.io/introducing-the-content-sparks-hosting-team-derek-hanson-rae-morey-robbie-adair-and-bobwp/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:210:\"In the latest episode of Content Sparks, BobWP introduces three monthly hosts: Robbie Adair on content and AI, Rae Morey on all things media, and Derek Hansen on content management, promising valuable insights.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Mar 2025 13:24:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"Do The Woo Community: Do the Woo Friday Shares, March 21, 2025 v11\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=93186\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://dothewoo.io/blog/do-the-woo-friday-shares-march-21-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"Our curated content across the Woo and WordPress community and beyond.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Mar 2025 10:47:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:122:\"Do The Woo Community: Discovering the Impact of i2Coalition at Cloudfest with Christian Dawson, David Snead and James Webb\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93118\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"https://dothewoo.io/discovering-the-impact-of-i2coalition-at-cloudfest-with-christian-dawson-david-sneak-and-james-webb/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:232:\"At CloudFest 2025, experts from i2Coalition and BigScoots discuss the importance of collaboration in the hosting industry, addressing legislative challenges while emphasizing WordPress\'s role in supporting small businesses globally.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Mar 2025 09:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"Do The Woo Community: From Founding to Funding, Marieke van de Rakt’s Entrepreneurial Journey\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92989\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"https://dothewoo.io/from-founding-to-funding-marieke-van-de-rakts-entrepreneurial-journey/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:229:\"In this episode, Jonathan Wold and Tammy Lister chat with Marieke van de Rakt, co-founder of Progress Planner. They discuss her teaching, investment philosophy, and insights on e-commerce challenges and open source opportunities.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 Mar 2025 13:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:104:\"Do The Woo Community: Thoughts on CloudFest, Rollercoasters and WP Cloud’s Strategy with Elise Prather\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93074\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:99:\"https://dothewoo.io/thoughts-on-cloudfest-rollercoasters-and-wp-clouds-strategy-with-elise-prather/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:236:\"Elise Prather, VP at Automattic\'s WP Cloud, shares her immersive experience at CloudFest, highlighting its vast size, unique networking opportunities, and the customizable hosting solutions WP Cloud offers for companies and freelancers.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 Mar 2025 09:33:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Matt: Radiohead\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=140773\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://ma.tt/2025/03/radiohead/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:785:\"

It’s so funny that my random re-engagement with Radiohead re-emergence coincides with them doing a new entity that might mean something. I did a poll on Twitter and people preferred OK Computer to Kid A 78%!

\n\n\n\n

Grok told me: “The band has recently registered a new limited liability partnership (LLP) named RHEUK25, which includes all five members—Thom Yorke, Jonny Greenwood, Colin Greenwood, Ed O’Brien, and Philip Selway. This move is notable because Radiohead has historically created similar business entities before announcing new albums, tours, or reissues.”

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 19 Mar 2025 23:06:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:98:\"Do The Woo Community: Tara Claeys on the Benefits of Niching Down to School and Nonprofit Websites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92779\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"https://dothewoo.io/tara-claeys-on-the-benefits-of-niching-down-to-school-and-nonprofit-websites/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:230:\"In this episode of WP Agency Tracks, hosts Marcus Burnett and Cami MacNamara discuss the benefits and challenges of niching down with guest Tara Claeys, emphasizing her focus on schools and nonprofits for greater business success.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 19 Mar 2025 14:04:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"Do The Woo Community: Ronnie Burt Chats About Gravatar’s Evolution and CloudFest Experiences\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=93052\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"https://dothewoo.io/ronnie-burt-chats-about-gravatars-evolution-and-cloudfest-experiences/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:189:\"At CloudFest, Ronnie Burt discusses Gravatar\'s history, its integration with WordPress, recent spikes in usage from platforms like ChatGPT, and the importance of digital identity ownership.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 19 Mar 2025 10:30:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"Do The Woo Community: The Winners of the CloudFest Hackathon 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=93009\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://dothewoo.io/blog/the-winners-of-the-cloudfest-hackathon-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:210:\"The CloudFest Hackathon 2025 celebrated innovation in open-source development, featuring diverse awards and emphasizing inclusivity within the tech community, with Accessible Infographics as the overall winner.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 15:57:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"WordPress.org blog: WordPress 6.8 Beta 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18634\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5533:\"

WordPress 6.8 Beta 3 is now ready for testing!

\n\n\n\n

This beta version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it is recommended you evaluate Beta 3 on a test server and site.

\n\n\n\n

You can test WordPress 6.8 Beta 3 in four ways:

\n\n\n\n
PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install.  (Select the “Bleeding edge” channel and “Beta/RC Only” stream).
Direct DownloadDownload the Beta 3 version (zip) and install it on a WordPress website.
Command LineUse the following WP-CLI command: wp core update --version=6.8-beta3
WordPress PlaygroundUse the 6.8 Beta 3 WordPress Playground instance to test the software directly in your browser without the need for a separate site or setup.
\n\n\n\n

The current target date for the final release of WordPress 6.8 is April 15, 2025. Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for more information.

\n\n\n\n

Catch up on what’s new in WordPress 6.8: Read the Beta 1 and Beta 2 announcements for details and highlights.

\n\n\n\n

How to test this release

\n\n\n\n

Your help testing the WordPress 6.8 Beta 3 version is key to ensuring everything in the release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This detailed guide will walk you through testing features in WordPress 6.8.

\n\n\n\n

If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report. You can also check your issue against a list of known bugs.

\n\n\n\n

Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

Vulnerability bounty doubles during Beta/RC

\n\n\n\n

Between Beta 1, released on March 4, 2025, and the final Release Candidate (RC) scheduled for April 8, 2025, the monetary reward for reporting new, unreleased security vulnerabilities is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

\n\n\n\n

Beta 3 updates and highlights

\n\n\n\n

WordPress 6.8 Beta 3 contains more than 3 Editor updates and fixes since the Beta 2 release, including 16 tickets for WordPress core.

\n\n\n\n

Each beta cycle focuses on bug fixes; more are on the way with your help through testing. You can browse the technical details for all issues addressed since Beta 3 using these links:

\n\n\n\n\n\n\n\n

A Beta 3 haiku

\n\n\n\n

Beta three refines,
WordPress shapes with steady hands,
Code grows into form.

\n\n\n\n

Props to @benjamin_zekavica @krupajnanda @ankit-k-gupta @joemcgill for proofreading and review.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 15:35:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:74:\"WPTavern: #161 – Robert Jacobi on WordPress, Security, and the OSI Model\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=188282\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"https://wptavern.com/podcast/161-robert-jacobi-on-wordpress-security-and-the-osi-model\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:52014:\"Transcript
\n

[00:00:00] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.

\n\n\n\n

Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the blocks, the themes, and in this case, WordPress, security, and the OSI model, which underpins the entire internet.

\n\n\n\n

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.

\n\n\n\n

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.

\n\n\n\n

So on the podcast today we have Robert Jacobi. Robert has a long standing history with the tech and CMS industry, having worked in senior positions at Joomla, Cloudways, Perfect Dashboard and more. He’s now the Chief Experience Officer at Black Wall, a company formally known as BotGuard.

\n\n\n\n

Robert talks with me today about the transition from proprietary systems to open source, and the seven layer OSI model that underpins the internet. Drawing from his experiences in tech, Robert and I try, and perhaps fail, to break down the complexities of how website traffic is rooted over the internet. This is done to try to understand how Black Wall can position itself to mitigate risks before they reach hosting companies infrastructure.

\n\n\n\n

We also discuss the evolution of bot traffic on the web, where upwards of 10% of internet traffic is identified as malicious. This kind of insight is particularly important for those interested in the security aspect of web hosting and website management.

\n\n\n\n

We also get into Black Wall’s rebranding journey, and its continued dedication to the WordPress community by participating in events like WordCamp Asia and Europe.

\n\n\n\n

If you’ve ever wondered about the unseen layers of internet security and infrastructure, or the strategic moves involved in rebranding a tech company, this episode is for you.

\n\n\n\n

If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you’ll find all the other episodes as well.

\n\n\n\n

And so without further delay, I bring you Robert Jacobi.

\n\n\n\n

I am joined on the podcast by Robert Jacobi. Very nice to have you on. I think I’m going to muddle up the company that you work for, because a little bird tells me that in the very, very recent past, the company that you work for became, well different in some way. Perhaps a name change, a logo change. Who did you work for and who do you now work for? And are they the same thing?

\n\n\n\n

[00:03:08] Robert Jacobi: Well, I still have my original swag, the BotGuard polo, which all of us have at the team, but we are now Black Wall. So Black Wall, formerly known as BotGuard. So we’ve done a full rebrand. I’m sure a lot of folks have seen already. But yep, just bringing it forward. Allowing ourselves to take on more of what we do, on top of the highly focused bot security monitoring and mitigation.

\n\n\n\n

[00:03:32] Nathan Wrigley: Okay. That’s a perfect introduction then. So give us your potted bio in tech, in CMSs. I’m not going to say WordPress because it’s a bit bigger than that. And maybe just throw in the BotGuard, Black Wall bit at the end there, and what your role is there. So just a couple of minutes. Just tell us who you are and whatnot.

\n\n\n\n

[00:03:49] Robert Jacobi: Minutes, I could spend all day talking about myself. So I’ve been in the industry for a number of years. Mumble, mumble, how long it’s been. Let’s go with CMSs because, actually a big passion way back in the day, had an agency where we created our own, of course proprietary CMS because that’s what you did.

\n\n\n\n

And then moved into open source for a number of reasons. Primarily, which I hope all agencies don’t need to talk about anymore, because I think it’s pretty obvious. It was the hit by a bus theory that, we put all our eggs into a proprietary basket, and we get hit by a bus, then that customer is stuck. With open source, there’s the community of the ecosystem, and it’s huge.

\n\n\n\n

And, you’ll always have your preferred vendors for many, many, reasons, but if something happens, you’re not locked into that code. You’re not blindsided. That was a fairly quick transition, and wound up working at the time, sorry WordPress universe, went to Joomla because hey, back in that day Mambo slash which became Joomla, was honestly just more of a stack that our team leaned towards. It was MVC based. It was geeky. There were tons of features, and functions that the types of customers we were working with, it resonated with. Especially multilingual at the time.

\n\n\n\n

Fast forward, let’s say 10 years, and now WordPress is beyond a competing product. It’s got an ecosystem a, value with its name brand, and literally the immense community that’s been built around it.

\n\n\n\n

From there went to, transitioned off of the Joomla space, and popped into a company called Perfect Dashboard. Oh, I forgot, I actually was the president of Joomla, briefly, so.

\n\n\n\n

[00:05:31] Nathan Wrigley: Just a little fact there, yeah.

\n\n\n\n

[00:05:32] Robert Jacobi: You know what, I should not forget that because that one year felt like 10. It’s a lot to work with a huge community, for many, many reasons. You have so many stakeholders. People whose lives depend on the product, the solution, the community, the ecosystem. Certainly not going to get into WordPress drama, but I understand how difficult it is to bear those responsibilities. And, it’s a lot. Immense amount of work. And WordPress has done amazing things in sustaining that for decades.

\n\n\n\n

So, moved over to the WordPress side of the universe. Company called Perfect Dashboard. We were acquired. Moved to running the WordPress business unit of Cloudways, also now acquired by Digital Ocean. And today I’m at Black Wall. I’m the Chief Experiences Officer for Black Wall. So that includes community, includes evangelism, includes investor in government relations. It’s really making sure that there’s an ability to communicate all the things that we do to the right people.

\n\n\n\n

[00:06:32] Nathan Wrigley: And what does well formally BotGuard, now Black Wall, what do they do? What do they offer up into the market? Is it a WordPress thing, or is it more of a, we’ll get into the OSI model in a minute, but is it more of an operating system thing?

\n\n\n\n

[00:06:46] Robert Jacobi: It’s at the top of the stack. So while, let’s just call it 50%, I know that’s not the exact number, but it’s close enough that I, think it’s fair to say, 50% of the web is run by WordPress. We’re still very heavily involved in the community. So we were just at WordCamp Asia. We’ll be at WordCamp Europe. These are places want to meet folks, communicate our solution, and engage with hosting providers because, when we get to running through our little OSI stack that you and I are obviously super experts in, we’ll kinda see where WordPress falls into it and where security matters, up and down that stack.

\n\n\n\n

We’re trying to help WordPress end users and hosting companies before you ever actually have to get to WordPress, because we already see that a significant portion of internet traffic, 40% of internet traffic is bots. AI agents, whatever you want to call them. And 25% of that 40%, so 10% is completely malicious. And you don’t want to get near the hosting company, the actual application, or anywhere further down the stack if you can avoid it.

\n\n\n\n

[00:07:50] Nathan Wrigley: So it sounds, just the name, and I confess, I don’t know much about what BotGuard, Black Wall do, did. But it sounds to me from the naming of it, that it’s a bit like you are literally a sentinel. You are standing in the way of things. Examining things that are coming your way and saying, no, you may not pass, but you may.

\n\n\n\n

And a bit like throwing it into dev null, if something is unable to pass, you are just black walling it, as it were. You are just saying, nope, off you go, drop, you’re outta here. Is that basically the principle? You are a security firm preventing things that are bad happening to whoever it is that uses your services.

\n\n\n\n

[00:08:25] Robert Jacobi: Some of it’s super, super bad, so you’re going to dev null it. And then there’s a spectrum of how bad those connections can be. We want to focus on humans getting to human content. Our key, sort of value propositions, humans are secure, humans are actually visiting your site. That’s what’s important.

\n\n\n\n

But there are good bots, and there are good bots who accidentally do bad things. And then there are the bad, bad bots. We obviously want Google to index our sites. We may or may not want Open AI indexing our sites. We certainly don’t want it. causing an accidental denial of service by how much it’s scraping our content. Which we have seen many a time. Where it’s like, great Open AI, come on in, take one quick look and get out. But it’s like, I’m going to stay there and I’m going to churn through everything. And we’ve seen it and it knocks sites out. And the AI engines, agents are particularly bad about that, because they’re trying to fill in and understand that data.

\n\n\n\n

[00:09:25] Nathan Wrigley: Yeah. Okay, so we’ve got some idea of what you do. Just as an aside, what a shame that the internet has a need for a company like yours. I don’t mean to take the food off your table, but back 20 years ago this just wasn’t really a thing. Just this promise of the internet to be this philanthropic place with unicorns and rainbows everywhere, where we were all going to throw our content in, and we were all going to consume it and it would be wonderful.

\n\n\n\n

And now we have well, human beings presumably started the whole thing, but now human beings have written codes such that they can step away and let their robots carry on. And what a shame that we need to have things like captchas on forms. and we need to pay security companies to do all of this stuff.

\n\n\n\n

And again, I’m not trying to say that your business doesn’t have a place. Clearly it does. But from a philosophical point of view, I wish that they didn’t need to exist, because the place was benign and harmless all the time.

\n\n\n\n

[00:10:19] Robert Jacobi: I’m going to poke a tiny hole in that bubble.

\n\n\n\n

[00:10:21] Nathan Wrigley: Please do.

\n\n\n\n

[00:10:22] Robert Jacobi: Actually, this is not a bad thing because we’ve actually moved most of the troublemaking away from us locally. You want to go back 20 years ago and we’re dealing with Norton Antivirus on everything, and crossing our fingers and praying that something doesn’t sneak into our immediate homes.

\n\n\n\n

We’ve actually been able to, because we’ve gone to cloud, push a lot of that super local personal risk a bit further downstream. So these security issues didn’t magically appear, they were much more, in fact, they were much more terrifying before. And I, oh my god, my Windows PC got hacked and now I have to like completely just throw it on the grill, light it on fire five times, and then reinstall Windows.

\n\n\n\n

Most folks don’t worry about doing that with their laptops, with their phones or whatnot anymore. The scalable risks are completely different, because me getting hacked was one person. Now a cloud website platform application, and then I’m, 10 million people get hacked. But we’re pushing it further away and away and away.

\n\n\n\n

[00:11:24] Nathan Wrigley: Yeah, it’s interesting. I remember in the dawn of computers that I had, I didn’t begin my computer journey right at the very, very beginning. You could walk into a store and walk out with a computer in more or less, every town and village in the country, when I began using them.

\n\n\n\n

But the media, the way that you got things onto the computer was a physical thing. You held the object in your hand. It was either a CD or some kind of media that you could physically hold. And now of course literally nobody is installing anything off a CD. And so I guess the, inexorable rise of the internet, and everything coming down a, well, telephone line, and we’ll get into that in a moment. Putting it in the cloud makes way more sense, doesn’t it? It doesn’t really seem to have so much utility having the antivirus, if you like, on the computer. I know it does, don’t get me wrong. But I can see that the shift to mitigating the risk and detecting the risk and doing something about the problem in the cloud. Obfuscated, abstracted away, so that you never even really know what’s going on is probably the best way forward. So, yeah.

\n\n\n\n

[00:12:25] Robert Jacobi: For 99.9 9, 9 9 9% of people, they’re not going to know or understand that they just want it to work. They don’t want to be robbed from, or in danger online. I always put it, as techy as I appear to be, I am the worst car person on earth. So when I think about internet security and what most people want to know about it, it’s pretty much what I want to know about cars.

\n\n\n\n

I want my car to turn on. Go forward, go backward, get me to where I need to be as safely as possible. I don’t know, or care about anything else that’s going on under the hood. It’s a tool that I use and I want it to work like I expect it to work.

\n\n\n\n

[00:13:04] Nathan Wrigley: Yeah. Given the population at large, it must be, one in a hundred thousand who care about the internals of their machine, probably even less so. Doesn’t matter really what you’re using, be it Mac, Windows, Linux, Chromebook, whatever it is, you just to flip the lid open and you want to just.

\n\n\n\n

[00:13:18] Robert Jacobi: Check my email, log into my social media, buy something, call it a day.

\n\n\n\n

[00:13:23] Nathan Wrigley: But because it’s becoming an increasingly crucial part of our lives. Certainly where I live in the UK, more or less everything has gone online that’s of any use. So shopping has gone online. Appointments for doctors have gone online. Dentists, it’s gone online. Pharmacy appointments, it’s all gone online. Paying your taxes, it’s online.

\n\n\n\n

And so we really do need to protect this stuff. Really need to protect this stuff, because if it’s possible to, I don’t know, inject some problem in that path, we’re not just going to take out the beautiful experience of buying from a shop. We’re going to take out our ability to get fuel into our houses and into our cars and all of that.

\n\n\n\n

[00:13:58] Robert Jacobi: Yeah, if you need that prescription, you don’t want that to go down, so.

\n\n\n\n

[00:14:01] Nathan Wrigley: It’s become almost like, almost like a human right. That seems a bit of a ridiculous thing to say, but on some level, it seems like the internet or access to the internet is almost on that level. It certainly feels like it is as important as other key parts of the country’s infrastructure. So power and gas all of that, and the road network and what have you.

\n\n\n\n

[00:14:20] Robert Jacobi: It is the information utility. So you have your power utilities, you have an information utility. It’s got to be available. In the States we always have our last mile issues, especially for very rural folks, about how connected are they, how fast is it? We always do this to ourselves. We got this great new toy, now let’s see how, great we can make it. Yeah, but if you’re not running at a hundred megabits a second your experience might really not be functional.

\n\n\n\n

[00:14:46] Nathan Wrigley: So we’re going to talk today about something that I confess, I don’t know anywhere near enough of. So, Robert and I have shared an article, and I’ll put the article in the show notes. And essentially this thing that we’re going to talk about is what’s called the OSI model. And the OSI model comprises various different layers.

\n\n\n\n

And basically, dear listener, if you’ve never thought about the gubbins of your computer, you, might just have this fairy tale notion that you open it up and start typing and it just works. I can send an email, of course I can send an email, you just click send and it’s gone and that recipient receives it.

\n\n\n\n

But the breathtaking quantity of things going on in the background disguised from you. Really, honestly, Robert, none of this should work, and yet it does work.

\n\n\n\n

[00:15:36] Robert Jacobi: Which is why I love my car analogy. I have no idea what is going on 99% of the time. I still have a gas car, so I know there’s a larger motor than an electric car. I know gas gets in there and lit on fire and moves pistons around, but really, in the most abstract sense of it. It goes, and that’s what I want it to do.

\n\n\n\n

[00:15:56] Nathan Wrigley: There’s explosions happening all the time, and fuel is being funneled around, and things are turning because they’ve been lubed with oil and all of that. And honestly, your car is nothing compared to the internet. The complexities in the internet, because I know that electric cars have taken over from, or are taking over from gasoline cars, but broadly speaking, the gasoline engine probably hasn’t changed terrifically much in the last a hundred years. Whereas I think the infrastructure comprising the internet, although the OSI model probably hasn’t changed much either.

\n\n\n\n

The things that are coming down the pike, and the things that have happened in the last 20 years, it’s breathtaking. So, dear listener, get out your tinfoil hat as Robert and I attempt and probably butcher what the OSI model is. And if you’ve got the capacity. Perhaps pause this podcast, go to the wptavern.com website, search for this episode and read the article. And the one that Robert came up with, which was a good one, is called What is the OSI model? It Standardizes How Computer Networks Communicate, and it’s on bluecatnetworks.com, but I’ll provide the link.

\n\n\n\n

[00:17:00] Robert Jacobi: The best one I found that had the good pictures to also help. Because visually it’s hard to, you think you have a server, some wires and a browser and it’s like me saying I have an engine, some gas, and a steering wheel. There’s a lot of pieces that go in between all those parts.

\n\n\n\n

[00:17:18] Nathan Wrigley: The amazing thing is this all happens really at the speed of light and. Okay, a perfect example is Robert is literally half a world away from me, and I’m talking to him through a browser, and I imagine that there is the most fractional delay between the words that I’m saying and him hearing it.

\n\n\n\n

It’s probably like a thousandth of a second or something. And yet somehow that sound and that image is getting consumed by my camera. Traveling down a cable. Getting into my computer. The computer’s making decisions about, what the heck am I going to do with this? And then pushing it down a wifi network.

\n\n\n\n

That wifi network is then thinking, where do I put this thing? And then it puts it there. That then decides to shunt it along somewhere else, which shunts it along somewhere else. And eventually it gets to Robert’s computer. Robert’s computer does all of it in reverse. Unpacks it rather than packing it up, and puts it on the screen. And it’s all happening like thousands of times a second, and it shouldn’t work.

\n\n\n\n

[00:18:20] Robert Jacobi: It’s more live than live.

\n\n\n\n

[00:18:22] Nathan Wrigley: Yeah.

\n\n\n\n

[00:18:22] Robert Jacobi: Because not only do we have the video, we have a chat window on the side. It’s all encapsulated. Use some of these acronyms, but, we have our streaming protocol for the actual video and audio. And then we have our standard internet protocols for the content and everything else that’s holding the streaming protocols together.

\n\n\n\n

It’s crazy. Why I’m excited to have this conversation with you is like, I feel, very anecdotally, but people are like, I’m just going to spin up a WordPress site. I’m going to be a WordPress agency. And they just do it. And there’s just all this stuff in the mix that, while it’s great to take for granted, it might help to know just a few of the pieces that are critical in that security portion of infrastructure.

\n\n\n\n

[00:19:05] Nathan Wrigley: Yeah, it feels to me like a bit like you’ve been to a really nice restaurant and you’ve eaten a fabulous meal, and then you realize the 12 hours of labor that went into creating that tiny little sauce on the side or something like that. And you get real appreciation for it. And hopefully something like that will come out of this.

\n\n\n\n

Again, caveat emptor, we’re not going to get everything right. Please feel free to give us a comment when we do get things wrong. But the OSI model is basically, it’s a seven layer stack and I think we’ll start at layer seven, because it sounds easier to describe it from the top down. So seven through one. And I’ll just say what all the layers are.

\n\n\n\n

So they go from the application layer, that’s layer seven. Presentation layer is six. The session layer is five. Four is transport. Three is network. Two is data link. And then the final one is the physical layer. And this point, I completely stand back and say, Robert, tell us a little bit about the top one, and Robert puts his hands on his head, the application layer.

\n\n\n\n

[00:20:06] Robert Jacobi: It’s funny, it’s like the top most layer and the bottom most layer are the, I feel, the easiest to like grok. Let’s use geek terms, to understand.

\n\n\n\n

The application layers is as well as a WordPresser, I can explain. It’s really the top, you’re connecting from the client, your client application, so a browser, email, whatever, with specific protocols.

\n\n\n\n

And what we primarily use is TCP IP, because that’s that magical thing that is able to grab a bunch of information, split it up into a billion pieces, and somehow put it all back together. How are we communicating with other devices is the way I look at that layer. It’s very high level, very abstract, it’s sort of fundamental. It’s like the air we need to breathe to actually get stuff done.

\n\n\n\n

[00:21:00] Nathan Wrigley: It’s the layer, if I’m correct, it’s the layer closest to us, the user. It’s the layer which we can most readily understand, because it’s the layer closest to which we do things. So I think maybe a poor example, or an incorrect example, would be to imagine it’s something like Microsoft Word or something like that. Because it isn’t, the application itself isn’t that layer. It’s more how that interacts with the protocol underneath. So it might be HTTPS or FTP or something like that. But you are writing an email or something like that, and you hit send, and then the application layer gets in the way and says, what do we do with this?

\n\n\n\n

[00:21:38] Robert Jacobi: Bingo. That’s exactly it, so we use all these, and generically they’re just called clients. So whether it’s Word, Microsoft Word, whether it is Safari, whether it’s Chrome, whether it’s Apple Mail. This will only entertain a few people, or Eudora mail. Just taking it back. Those are discreet applications on our devices.

\n\n\n\n

And then the application, to your point, you hit send, you hit go on your browser. And now we’re like going crazy, okay, what do we do? We have a request. A request needs to go somewhere. That’s where the application layer kicks in.

\n\n\n\n

[00:22:11] Nathan Wrigley: So we have this protocol in the application layer, which then makes decisions about what to do. And each of the layers is collapsing into the layer below it. And that layer then takes something that the previous higher layer gave to it and does, some shenanigans with it, and we get something which can then move into the layer below.

\n\n\n\n

[00:22:30] Robert Jacobi: Everyone knows the application layer, because we’ve all typed in HTTPS://. That is literally the application layer request.

\n\n\n\n

[00:22:40] Nathan Wrigley: Okay, so in the case of a browser, it’s the capacity for the browser to send something through HTTP, what have you. And then we get into the presentation layer, which is the layer beneath. And I think, again, I’m just cribbing from this article, if I’ve parsed this correctly, it says that this layer comprises things like translation, encryption, decryption compression. And it turns all of the bits and pieces into machine readable data. So for example, it says it will convert all of the binary ones and zeros into machine readable data. If the devices are using a different communication method, the presentation layer translates that data into something understandable, so that it can be received from layer seven.

\n\n\n\n

And there’s a lot more to it than that. It’s like this layer of converting what came to it, into something else, which can then be moved down the stack into five.

\n\n\n\n

[00:23:34] Robert Jacobi: Bingo, that’s literally exactly it. And it’s something us as humans completely don’t interact with unless you’re the person building out that infrastructure. It’s really just we’re having computers talking to computers at this point. So when you typed in HTTPS WP Tavern, that was your human interaction. Now we’re all like, what is the process? So presentation is making sure that that data moves forward the stack.

\n\n\n\n

[00:23:59] Nathan Wrigley: And my understanding as well is that this is the moment where encryption and decryption occur. And so it’s high up in the stack. That is to say it’s near the layer seven, because you obviously can’t have it encrypted before you do anything with it. It’s high up in the stack so that at this moment, before it’s gone anywhere, it has become encrypted, before it’s passed down the stack and sent down the wires. But also, this is the moment if it’s coming up the stack, towards you so that you can read it in your browser, so that it’s getting decrypted at the last possible moment as well. So the encryption, I guess is at the first possible point on the way out, and the last possible point on the way back in. Have I got that right?

\n\n\n\n

[00:24:40] Robert Jacobi: Yeah, and that’s a great way to look at it is, when we look from the top of the stack to the bottom of the stack, it’s almost in physical proximity to you as the human end user.

\n\n\n\n

[00:24:48] Nathan Wrigley: Yeah.

\n\n\n\n

[00:24:49] Robert Jacobi: Because at first you’re typing in something. Now something’s happening, that encryption is happening locally, because otherwise it wouldn’t be safe. And as we get further down the stack, you are physically further away from what’s going on.

\n\n\n\n

[00:25:02] Nathan Wrigley: Yeah. And the other thing that’s going on here is compression. So you’ve got some giant blob of data that the stack can compress to make it more efficient to fly over the wires, then that will be handled at this layer as well, is my understanding.

\n\n\n\n

[00:25:17] Robert Jacobi: We have compression on the servers as well in the applications layer as well. Don’t forget, you can compress data on the protocol.

\n\n\n\n

[00:25:22] Nathan Wrigley: So that all sounds really remarkable, but also quite humanly understandable, because everything that I’ve said makes perfect sense. And we start from five down. It starts to be really the domain of networking experts, and people who really obsess about computers and understand this stuff. But if you’re just the person using the web and WordPress casually, honestly, it may be that you’ve never come across this stuff, and I found it just breathtaking, to be honest.

\n\n\n\n

So layer five, is called the session layer, and it is literally that. It’s managing sessions, so it’s figuring out who’s connected to who. How that communication should begin. How it should end. When it’s decided that, okay, that connection should be destroyed. We’re not using that anymore, but okay, now we’ve got something else that we need to do. And it figures out, yeah, sessions basically, which I guess is the easiest way to describe it.

\n\n\n\n

[00:26:15] Robert Jacobi: Everyone knows what a session is. It’s me being connected, and my information being managed for me, so that when I log in, Nathan doesn’t get all my information.

\n\n\n\n

[00:26:24] Nathan Wrigley: And also, an understanding here is that usernames and passwords, so authentication is happening at this layer as well. And again, that kind of makes sense. So you would have to authenticate before the decryption happens in the layer above and vice versa. But yeah, this is opening up connections between, in this case, you and I are chatting in a browser, so we’re occupying one session, and then there are million, literally millions of packets of data just flying around over the internet via who knows what route. They’re all going in completely different routes.

\n\n\n\n

[00:26:57] Robert Jacobi: Some of these packets can literally be going through Australia or South Africa or Brazil, and back and forth and they, catch up.

\n\n\n\n

[00:27:05] Nathan Wrigley: Incredible, isn’t it? Literally. It’s like, I don’t know. Imagine getting a handful of rice and chucking it all down on the floor, but it assembles itself into a tower. It just lands and it just assembles itself. That’s basically what we are dealing with.

\n\n\n\n

[00:27:19] Robert Jacobi: That’s a good one. Yeah, like I have my own rice tower at home. I throw it on the ground. It gets shipped by FedEx to you, but when you open up the box, it reassembles itself.

\n\n\n\n

[00:27:28] Nathan Wrigley: Just in perfect condition, yeah. So the next layer four, is the transport layer. And this is the bit which actually I guess begins the process of sending my stuff to you, and your stuff to me. And typically the protocols for that are something called UDP, which is User Datagram Protocol or TCP Transmission Control Protocol.

\n\n\n\n

And my understanding, which is very basic, is that UDP differs from TCP in that UDP can be more of a stream of data, because it doesn’t require everything to come through perfectly to say, yeah, that’s now finished. So a perfect example would be us talking to each other, streaming. If bits get lost along the way, it doesn’t want to say, right end the call.

\n\n\n\n

We haven’t got one bit. We need to just stop. Until that bit has been found, it just keeps going and just disregards the missing bits. Whereas TCP, this is just incredible. This is the rice tower, isn’t it?

\n\n\n\n

[00:28:28] Robert Jacobi: TCP is the rice tower, exactly.

\n\n\n\n

[00:28:30] Nathan Wrigley: It requires every single piece to be sent. Acknowledged. Counted out. Counted in at the destination, and for the both ends of the connection to be saying, did you get that bit? Yeah, I got that bit. What about this bit? Did you get that bit? Yeah, I got that bit. 23, did you get 23? No, 23 has gone. Where, where’s 23? Oh, I’ll send 23 again. Here it is. A million times a second for this conversation that we’re having. Well, it’s probably not a million times a second, but you know what I mean.

\n\n\n\n

And I’ve summed that up very badly, but these packets of data that are flying around. They egress my computer. They go through 7, 6, 5, now we’re in 4, and they’ve got to go through further layers. But they’re not just going in a straight pipe, like a hose pipe from your faucet, spraying the garden. These are just going anywhere they choose. So one packet, like you said, might go via Australia, one might go through South Africa, and then somehow they just reassemble themselves magically at the other end.

\n\n\n\n

[00:29:26] Robert Jacobi: Routers, because that’s what those do. Obviously that’s a physical component further down the pipe. They’re saying, this is the order of information. I’m going to just spew out, and everyone else needs to figure out how to put it back together, one piece. It’s crazy.

\n\n\n\n

[00:29:38] Nathan Wrigley: Yeah, it is crazy. My understanding is that back in the day, when the internet was conceptualized, I think it was possibly something like Darpanet, or something like that, but it was a, I think it was a military endeavor, the enterprise was something along the lines of, we need a communication system which if various nodes are taken out, let’s say, I don’t know, bombed out of existence, or just the power is cut, the system is intelligent enough to just work round the problem, and figure, okay, we can’t go there anymore, let’s just go a different way. And that is what we now have.

\n\n\n\n

[00:30:12] Robert Jacobi: It’s all about redundancy. I’m going to take just a slight tangent on federated social media. Any kind of federated application. Those exist in a lot of ways to ensure redundancy. I’m going to go way, way back, to where most of the audience probably wasn’t born. So we had these things called modems, and they would be attached to a phone, and you would run something called a bulletin board system. Those were single points of failure.

\n\n\n\n

So you actually saw groups of independent bulletin board system providers create these distributed federated networks. So if you sent an email to a specific person, at a specific BBS, if that phone line was busy, it could go to another one that would take it, and keep pushing it along until you actually got it to the right place. This idea of distributed and federated systems is really what makes the internet functional because we take care of failure points. We ignore them and just work around them.

\n\n\n\n

[00:31:17] Nathan Wrigley: And obviously we know that works as well because parts of every country’s infrastructure are breaking all the time. One router somewhere will just go down, even if it’s a crucial router, it doesn’t in the end stop the system. It probably creates bottlenecks in various places.

\n\n\n\n

[00:31:31] Robert Jacobi: Slow it down.

\n\n\n\n

[00:31:32] Nathan Wrigley: Slow the egress of traffic around, yeah. But in layer four we’re dealing with the ports that things fire out of as well. And then when we get down to layer three, that’s when the actual data is divided up into little packets and little segments. So data four and data three, honestly, to some extent they feel very similar in my head at least anyway.

\n\n\n\n

But layer three is using things like IP addressing, to decide where this packet’s going to go. And I think wraps the packets up in the IP address, if you like. It’s almost like wrapping up a Christmas present and as it travels down the stack, by the time it gets to layer three, it’s being told, this is not what it’s being told, but this encapsulates it. This is a gift for Robert Jacobi. You must find Robert Jacobi.

\n\n\n\n

Then it reads that, and then finally, it’ll rip off the wrapping and finally give you the gift at the end as it goes back up the stack. So, there’s not a lot to say on layer three, I don’t think, other than it’s using things like IP v4 and IP v6 to make decisions about how it’s going to be spread around. Have I got that about right? Do you think?

\n\n\n\n

[00:32:35] Robert Jacobi: That works for me. I think that’s enough information for most folks. Again, we’re trying to give a taste of how complex security is, for what we do day to day. But also how we can apply it to how WordPress understands it.

\n\n\n\n

[00:32:48] Nathan Wrigley: And then we’ve got the two layers where, the data link layer and the physical layer. The data link layer is handling the data transferred. So the actual data moving around. So it’s getting pushed around on the same network is my understanding for layer two. So that’s when you are, for example, in the same office building. I think layer two is just for that. I could be wrong.

\n\n\n\n

[00:33:11] Robert Jacobi: It’s getting to your router and then your router will start moving stuff around. Cause don’t forget, your router is on your network as well as any other computer in that closed. So, our 192’s. Our internal network, so that’s the closest on the networking side, that hardware side, because as soon as it hits our router it goes to the cable, or whoever you’re using, outside of your office, home, your LAN.

\n\n\n\n

[00:33:35] Nathan Wrigley: And then the final layer, the physical layer is the cables, the actual infrastructure out there in the world outside of your house, basically. Or your office building. Well, maybe there’s some of it in the office building as well, but the majority of it, the miles and miles of things are all in the physical layer. And it says here on the bit that I’m reading. Finally, this layer encompasses the equipment that carries data across the network, such as fiber network switches, and so on.

\n\n\n\n

And so finally, our packets of data that we started off at the beginning, writing the email to Robert Jacobi. Finally, that packet has made it out. It’s escaped into the wild, and is now just rattling around on the internet desperately being told, very quickly, where to go. And then hopefully it’ll arrive. Travel to Robert’s computer. Travel in the reverse direction of the stack, and he’ll get a nice email from me with cat pictures in it.

\n\n\n\n

[00:34:27] Robert Jacobi: Why is it always cat pictures?

\n\n\n\n

[00:34:29] Nathan Wrigley: Why not? Okay, so all of that shenanigans is happening, and honestly, I feel a, it’s very difficult if you’re inexperienced like me, to get the words out in the correct order so that I have demonstrated that I understand it. Because I do on a very, very slight level.

\n\n\n\n

And I know that entire careers, very, very, well paid careers can be built upon really understanding what we’ve just spoken about. But in there, I presume, is the capacity for threats, and the capacity for things to go wrong, and the capacity in all of these layers for people to inject things which shouldn’t be there. For clever people to figure out ways to disrupt that information. To take that information. To delete that information. To rewrite that information. And is that essentially what your company does? Prevent those things?

\n\n\n\n

[00:35:18] Robert Jacobi: So when I look at it from a CMS stack, and again, let’s focus on WordPress. My mental model that is slightly different. I’ll use, I think what most of us feel like is WordPress infrastructure. I know, the really smart folks are going to yell at me for this. You have a server somewhere. It has an operating system, it has PHP, MySQL, it has WordPress, and then whatever else is in front of it.

\n\n\n\n

So there’s a whole stack and layer on layers of communication that go from when I hit my browser and type in WP Tavern and hit go. And let’s move away from all the really highly technical networking protocol issues.

\n\n\n\n

At some point, it’s going to make a request to a hosting company that needs to be able to say, oh, yes, let’s give them the WP Tavern homepage. In that process there are caching services, firewall products, local security on the networking side of that hosting company. What I feel personally, but also which is what makes products like Black Walls critical is, detect and defend as far away from the website as possible.

\n\n\n\n

So if there are a million bots coming at you, get them before they even hit the hosting company’s infrastructure. Some will always sneak through because it’s a battle that’s just never ending and, you’re going to keep learning and fighting and learning and fighting. Mitigate the risks as close to the bad actor, and as far away from the site as possible. So, mitigate, mitigate, mitigate, mitigate, mitigate. And there are tools and solutions up and down that entire stack.

\n\n\n\n

So you’re going to have stuff way before you hit the hosting company. You’re going to have some solutions closer to the hosting company. You’re going to have solutions directly on WordPress. There are security plugins that are running on your install of your site. Those are great. I personally feel that you don’t want to even get that close if you’re a bad actor. Mitigate that problem as quickly, as soon as possible.

\n\n\n\n

And even solutions that work at the operating system level, or at least the language level. There are products out there that are constantly monitoring, looking for and mitigating PHP corruption. So, you really don’t want to let everyone have access all the way down to that level, because then you’re already, you will have problems, how to put it nicely. We don’t say bad words on the show.

\n\n\n\n

[00:37:53] Nathan Wrigley: So do you sell your product into the WordPress space? So, you know, to freelancers, agencies, or are you more at the hosting level, or is it even more like infrastructure level? So at the router level. So in our case, this sort of physical layer that we were talking about. Is that the kind of place where your products go? I honestly don’t know where your product sits in all of that.

\n\n\n\n

[00:38:16] Robert Jacobi: So, if you look at it from a hardware perspective, there’s going to be the end user is going to make request. It’s going to get routed somewhere. We sit between where it’s getting routed and the hosting company. So our goal is to prevent the hosting company from wasting physical resources. Now we need to amp up our service because there’s so much traffic coming in.

\n\n\n\n

Now we need to amp up our customer support because more stuff is happening with our virtual machines or hosted infrastructure. So that’s our place in the universe. Get the bad guys before they get to the critical infrastructure.

\n\n\n\n

[00:38:51] Nathan Wrigley: And another question, forgive my ignorance. Is Black Wall’s solution, is it software? Is it code that sits on an operating system? Or maybe you even have hardware that sits in the way of things, the packets have to transfer through your hardware and be inspected in a way, like a router might get in the way of those things.

\n\n\n\n

[00:39:10] Robert Jacobi: Our secret sauce is that we are software that emulates the hardware that used to be required. So there are hardware companies buy this kind of routing and prevention, traffic mitigation. And we do it on the software side so that you as an agency or MSP, if you’re running a bunch of virtual machines, you can deploy this on your own. Certainly as a hosting company, you can deploy this across your entire enterprise.

\n\n\n\n

[00:39:36] Nathan Wrigley: So you are dealing with very technical, the people that purchase from you they’re not me, for example. They are very technical. They’re in the data centers. The sort of technical end of the hosting companies. They understand what I’ve just butchered during this episode.

\n\n\n\n

It’s not like a freelancer market. You will not be selling Black Wall as a plugin. You are dealing with, directly with hosting companies and the tech side of those hosting companies.

\n\n\n\n

[00:40:01] Robert Jacobi: There’s a wonderful German word called Jein. So yes and no.

\n\n\n\n

[00:40:04] Nathan Wrigley: Oh, that is a good word.

\n\n\n\n

[00:40:05] Robert Jacobi: For all the Germans listening. You still want to be able to control a lot of times exactly what kind of traffic comes in. You might want to get scraped by AI bots more than someone else does. Or you might want to turn off all scraping if you’re an e-commerce store and you’re worried about people taking your pricing and not allowing you to sell at your level.

\n\n\n\n

We’ve had, and are currently reworking our entire WordPress plugin, to enable that end user control of that infrastructure. So it’s not running on your WordPress install, which is great because it’s not taking up resources, filling up your hard drive. But you can control, as an end user, the granularity of the traffic that’s able to access your site.

\n\n\n\n

[00:40:45] Nathan Wrigley: Oh, so you have a plugin, so you are reading what the hosting company is doing. You can view it through a GUI on your WordPress website, but you are not actually, it’s nothing to do with your WordPress install. You’re getting the data from your hosting company, and that is another layer away from you. Okay. That’s interesting. I didn’t realise that.

\n\n\n\n

[00:41:04] Robert Jacobi: Yes, it empowers all these website owners, agencies, MSPs, to fine tune, for lack of a better term.

\n\n\n\n

[00:41:10] Nathan Wrigley: Yeah. And then do you offer a sort of GUI for data breakdown, tables, graphs, charts, and ways to block things that you imagine are suspicious, and alerting and things like that?

\n\n\n\n

[00:41:20] Robert Jacobi: Yep, as well as defaults for all sorts of things of course, just to make life easier for folks. You can go and visit our site and get some initial monitoring for your site for free. We enjoy having that as part of just an offering of the reporting and monitoring, you can see it. My traffic has been great, and then all of a sudden you look and it’s oh wait, it’s just been Chat GPT.

\n\n\n\n

[00:41:40] Nathan Wrigley: Sad realization that the million visitors that seemed to be going to your excellent article were in fact Chat GPT.

\n\n\n\n

[00:41:47] Robert Jacobi: Bots stealing that information.

\n\n\n\n

[00:41:49] Nathan Wrigley: Sadly, time has got the better of us. We’re at the time where Robert has to walk away. I know he’s got a hard stop. Firstly, my apologies, dear listener for utterly butchering the OSI model. I’m sure there’s a lot of geeks out there who were just throwing things.

\n\n\n\n

[00:42:01] Robert Jacobi: They’re going to kill, but my hope is everyone looks it up, a lazy Sunday afternoon understanding.

\n\n\n\n

[00:42:06] Nathan Wrigley: Exactly. And that, really was my capacity to understand it. Doesn’t matter how much more I read it, I will be able to get no more out of it. But an important conversation, and one that we’ve never had before. We never get into the weeds of all of that. It’s always WordPress all the way down.

\n\n\n\n

And this is what’s happening before, WordPress gets to put the bits and your screen. So really important and hopefully, like Robert said, it will encourage people to go and have a little look.

\n\n\n\n

Robert Jacobi, thank you so much for chatting to me today, and good luck with the new rebranding of BotGuard into Black Wall. I hope that goes well too. Thank you so much.

\n\n\n\n

[00:42:39] Robert Jacobi: Thank you Nathan.

\n
\n\n\n\n

On the podcast today we have Robert Jacobi.

Robert has a long-standing history with the tech and CMS industry, having worked in senior positions at Joomla, Cloudways, Perfect Dashboard, and more. He’s now the Chief Experience Officer at Black Wall, a company formerly known as BotGuard.

Robert talks with me today about the transition from proprietary systems to open source, and the seven-layer OSI model that underpins the internet. Drawing from his experiences in tech, Robert and I try, and perhaps fail, to break down the complexities of how website traffic is routed over the internet. This is done to try to understand how Black Wall can position itself to mitigate risks before they reach hosting companies infrastructure.

We also discuss the evolution of bot traffic on the web, where upwards of 10% of internet traffic is identified as malicious. This kind of insight is particularly important for those interested in the security aspect of web hosting and website management.

We also get into Black Wall’s rebranding journey, and its continued dedication to the WordPress community by participating in events like WordCamp Asia and Europe.

\n\n\n\n

If you’ve ever wondered about the unseen layers of internet security and infrastructure, or the strategic moves involved in rebranding a tech company, this episode is for you.

\n\n\n\n

Useful links

\n\n\n\n

Black Wall (formerly BotGuard)

\n\n\n\n

Joomla

\n\n\n\n

Cloudways

\n\n\n\n

Digital Ocean

\n\n\n\n

What is the OSI model? It standardizes how computer networks communicate

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"Do The Woo Community: The Challenges and Wins of Creating a Suite of WordPress Plugins with Steve Burge\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92722\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"https://dothewoo.io/the-challenges-and-wins-of-creating-a-suite-of-wordpress-plugins-with-steve-burge/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:183:\"In this episode host Mark Westguard chats with Steve Burge, founder of PublishPress, discussing their journeys, the evolution of WordPress plugins, and strategies for business growth.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 09:26:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"Gutenberg Times: Source of Truth (WordPress 6.8)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=38037\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"https://gutenbergtimes.com/source-of-truth-wordpress-6-8/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:51232:\"

Ahead of WordPress 6.8 Beta release and in absence of Anne McCarthy, we publish the Source of Truth a second time on the Gutenberg Times.

\n\n\n\n

With me, I mean all the collaborators on this post: Krupal Lakhia, Justin Tadlock, Jonathan Bossenger, and JuanMa Garrido.

\n\n\n\n

Changelog

\n\n\n\n

Any changes will be cataloged here as the release goes on. The links below are all anchor links to the respective sections in this post.

\n\n\n\n

Updates March 26, 2025

\n\n\n\n

Accessibility Improvements in WordPress 6.8

\n\n\n\n

Updates March 25, 2025

\n\n\n\n\n\n\n\n

If you find missing features, please ping me on WPSlack or DM on Bluesky (@gutenbertimes.com)

\n\n\n\n

Important note/guidelines

\n\n\n\n

Please do not copy and paste what is in this post since this will be shared with many people. This should be used to inspire your own content and to ensure that you have the best information about this release. If you do copy and paste, keep in mind that others might do the same, opening the door for some awkwardness around duplicated content out on the web. 

\n\n\n\n
    \n
  • Each item has been tagged using best guesses with different high level labels so that you can more readily see at a glance who is likely to be most impacted.
  • \n\n\n\n
  • Each item has a high-level description, visuals (if relevant), and key resources if you would like to learn more.
  • \n
\n\n\n\n

Overview 

\n\n\n\n

Note: As always, what’s shared here is being actively pursued, but doesn’t necessarily mean each will make it into the final release of WordPress 6.8.

\n\n\n\n

WordPress 6.8 is set to be released on April 15th, 2025. This release continues refining foundational features introduced in previous versions, focusing on improving data views, query loops, and block interactions. It introduces a more streamlined design experience with a Zoom Out editing approach, expanded style controls, and enhanced typography options. API developments, including the Block Hooks and Interactivity API, aim to enhance extensibility, while speculative loading integration and performance optimizations seek to improve site speed. Accessibility improvements and ongoing support for PHP 8.x ensure WordPress remains user-friendly and forward-compatible.

\n\n\n\n

Of note, this release includes Gutenberg 19.4 – 20.4.

\n\n\n\n

Important links:

\n\n\n\n\n\n\n\n

6.8 assets: 

\n\n\n\n

In this Google Drive folder you can view all assets used in this document.

\n\n\n\n

Tags

\n\n\n\n

To make this document easier to navigate based on specific audiences, the following tags are used liberally: 

\n\n\n\n

[end user]: end user focus. 

\n\n\n\n

[theme author]: block or classic theme author. 

\n\n\n\n

[plugin author]: plugin author, whether block or otherwise.

\n\n\n\n

[developer]: catch-all term for more technical folks. 

\n\n\n\n

[site admin]: this includes a “builder” type. 

\n\n\n\n

[enterprise]: specific items that would be of interest to or particularly impact enterprise-level folks

\n\n\n\n

If no tags are listed, it’s because the impact is broad enough to impact everyone equally. 

\n\n\n\n\n\n\n\n

Priority items for 6.8

\n\n\n\n

Global Styles available on the main site editor sidebar

\n\n\n\n

[theme author] [site admin]

\n\n\n\n

The Site Editor sidebar is getting increasingly powerful, serving as the entry point to manage all things on your site. Until this version, the Styles panel offered limited style settings, focusing on style variations, color palettes, and typographies. WordPress 6.8 changes this by introducing a full-fledged Global Styles panel in its place, giving users site-wide granular control of styles at the top level.

\n\n\n\n\"Site\n\n\n\n

Swifter hiding and showing the template

\n\n\n\n

[theme author][site admin]

\n\n\n\n

Switching between editing your site templates and content pages should be as smooth and seamless as possible; sometimes, you need to focus on the post content and hide the rest of the template. This was previously possible in the post settings, but now it is much easier thanks to the Show template toggle directly on the preview dropdown in the top toolbar.

\n\n\n\n \n
\n \n \n \n \n\n\n

The new update in WordPress allows developers to set how the block editor displays content based on the type of post. This means you can now customize the editor’s default behavior by adding specific settings to a post type’s configuration. (69286).

\n\n\n\n

Style Book

\n\n\n\n

[theme author][site admin]

\n\n\n\n

The Style Book provides a comprehensive overview of your site’s colors, typography, and block styles in an organized layout. Each block example and style group is labeled, making it easy to preview and understand your theme’s current design settings.  

\n\n\n\n
\n

Think of it as if your theme threw a party, and all the design elements showed up wearing name tags. 😀

\n\n\n\n

Ramon Dodd, release lead of Gutenberg 19.9 

\n
\n\n\n\n

The Style Book can be accessed in two ways. The first option is via the Styles menu item in the left sidebar. The second option is available when editing theme elements via the right Styles sidebar. This was already available in WordPress 6.7. 

\n\n\n\n

With WordPress 6.8, opening the Style Book from the left sidebar Styles menu shows subsets of blocks and makes them available for site wide editing. 

\n\n\n\n

When you click on Typography you can preview all text-related blocks, and adjust options and settings. You can preview and modify specific blocks via the Blocks option. 

\n\n\n\n

The Style Book also received some performance improvements to ensure a more fluid user experience. 

\n\n\n\n
    \n
  • Give the Style Book its own route so it can be linked to directly (67811).
  • \n\n\n\n
  • Scroll to top at the styles root (67605).
  • \n\n\n\n
  • Try splitting the Style Book into sections (68071).
  • \n
\n\n\n\n \n
\n \n \n \n \n\n\n

For classic themes that support the Style Book, site patterns have been relocated to Appearance > Design > Patterns, consolidating all design-related functionality from the Site Editor into one place. Previously, patterns were listed under Appearance > Patterns.

\n\n\n\n

Support is available for classic themes that either support editor styles via add_theme_support( ‘editor-styles’ ) or have a theme.json file (66851).

\n\n\n\n

Zoom Out View

\n\n\n\n

[theme author][site admin][end user]

\n\n\n\n

In Zoom Out view, users can now apply different section styles and designs directly from the toolbar, cycling through them and inspecting them in the context of the rest of the page. This enhancement streamlines the decision-making and production process (67140). 

\n\n\n\n\"change\n\n\n\n

The Block options on the block toolbar only lists Copy, Cut, Duplicate, and Delete for sections in Zoom Out view (67279).

\n\n\n\n\"Zoom\n\n\n\n

In addition to the added Zoom Out icon in the toolbar, users can also invoke Zoom Out view via the Keyboard shortcut Shift command + 0 on a Mac and Shift + Ctrl + 0 on Windows (66400). The shortcut has also been added to the Keyboard shortcuts list. 

\n\n\n\n\"keyboard\n\n\n\n

Design Tools

\n\n\n\n

[end user][theme author] [site admin]

\n\n\n\n

Design Tools offers increasingly refined tools for visual customization. When it comes to border and spacing support, the block editor itself provides granular controls within individual blocks, allowing users to define border widths, styles, colors, and radii, as well as precise padding and margin adjustments. These controls facilitate the creation of visually distinct elements and well-structured layouts. The work for WordPress 6.6 and 6.7 was continued for WordPress 6.8 to provide all design tools to all blocks, where possible. 

\n\n\n\n

In this release, the following blocks received border support

\n\n\n\n
    \n
  • Comments (66354),
  • \n\n\n\n
  • Comments Link (68450),
  • \n\n\n\n
  • Comments Count (68223),
  • \n\n\n\n
  • Latest Posts (66353),
  • \n\n\n\n
  • Page List, also received color and spacing support (66385),
  • \n\n\n\n
  • Content, also spacing support (66366),
  • \n\n\n\n
  • RSS, also spacing support (66411),
  • \n\n\n\n
  • Archives, also color support (63400), (68685), and
  • \n\n\n\n
  • Query Total (68323)
  • \n
\n\n\n\n

Beyond those, the Category block supports color options as well (68686).

\n\n\n\n

For the Post Content block, the color support via the sidebar Design Tools has been brought up to feature parity with the options available via theme.json. Now users and designers can adjust colors for all heading levels in addition to text, background, and link (67783).

\n\n\n\n\"post\n\n\n\n

Another user experience improvement can be found in the list of fonts: Each font family is now previewed in the font picker dropdown and gives users a better indication as to what the font will look like (67118).

\n\n\n\n\"preview\n\n\n\n

The Roster of design tools per block (WordPress 6.8 edition) gives you a complete overview of the available Design Tools per core block. 

\n\n\n\n

Updated Core Blocks 

\n\n\n\n

Buttons 

\n\n\n\n

[theme author][developer]

\n\n\n\n

WordPress 6.8 adds a small piece of code (`box-sizing: border-box;`) to the styling of buttons. Imagine you’re putting a picture in a frame. You want the picture to fit nicely within the frame’s borders. That’s what `box-sizing: border-box;` does for buttons (and other elements) on a website. It tells the browser to include the border and padding of an element in its total width and height (65716)

\n\n\n\n

Cover Block

\n\n\n\n

[theme author][site admin][end user]

\n\n\n\n

Images used as backgrounds in Cover blocks now come with resolution controls so that you can change their sizes. This works with both an uploaded background image or the already assigned featured image. This adds to the more granular control for designers and theme developers. (#67273), (62926).

\n\n\n\n

Details block

\n\n\n\n

[theme author][site admin][developer][end user]

\n\n\n\n

In WordPress 6.8 the Details block is now more flexible to use and has received some quality-of-life updates: 

\n\n\n\n

The addition of the name attributes field in the Advanced panel of the block’s settings. This allows a group of Details blocks to be connected and styled if needed.  (56971

\n\n\n\n\"Details\n\n\n\n\"shows\n\n\n\n

The summary content is used as the label in the List View which makes it quicker to identify the block and allows for easier reorganizing of content (67217). 

\n\n\n\n\"Shows\n\n\n\n

The Details block also receives anchor support via the Advanced panel, allowing users to create anchor links to specific Details blocks. 

\n\n\n\n

With the help of the allowedBlocks attributes, developers can now control what blocks content creators can use in a Details block. (68489). 

\n\n\n\n

File block

\n\n\n\n

[end user][site admin]

\n\n\n\n

Allow content-only editing, which gives users the ability to update the filename text and download button text (65787).

\n\n\n\n\n\n\n\n

[end user][site admin]

\n\n\n\n

Each image in a Gallery block shows multiple options on how a link should behave and how a visitor to the site can interact with the images. For WordPress 6.8 contributors added Expand to click to the Gallery’s toolbar to open all images in a light box effect, with one click. The option is available from the Link toolbar button (64014). 

\n\n\n\n\"Gallery\n\n\n\n

Image Blocks and handling

\n\n\n\n

[end user][site admin]

\n\n\n\n

The outcome of the Image manipulation methods are now better communicated in the block editor. The success notices are displayed at the bottom of the editor. The notices also come with a handy Undo link to revert to the original if necessary (67314, 67312).

\n\n\n\n\"shows\n\n\n\n\n\n\n\n

[theme author][site admin][end user]

\n\n\n\n

Featured images offer a nice touch in external previews, making them more attractive to potential readers. However, it can be easy to forget to set one! To help set featured images more easily, Image blocks now offer a dropdown action to directly set them as the featured image of the post or page containing the block (65896).

\n\n\n\n\"Displays\n\n\n\n

Another WordPress 6.8 update also changes how the Image block handles those cool overlay styles aka filters (like a semi-transparent color wash) designers might add on top of images. It’s making the way these styles are applied more efficient and reliable. Details on CSS changes can be found in the PR (67788). 

\n\n\n\n

Navigation Block

\n\n\n\n

[end user][site admin][theme author]

\n\n\n\n

The theme of polish also continues for the Navigation Block. Menu names are now displayed in the List View for easier orientation and, for faster design considerations, a Clear option was added to the color picker(68446)(68454). 

\n\n\n\n

These updates enabled non-interactive formats for the block, and users can now use the choices from the dropdown menu in the block’s tools bar, like Highlight, Strikethrough, or Inline image (67585). 

\n\n\n\n

Additional update to the Navigation Block

\n\n\n\n
    \n
  • Customizable Post Status Visibility in Navigation Block Links (63181) (see dev note).
  • \n\n\n\n
  • Consistent Class Application for Navigation Block Menu Items (67169) (see dev note)
  • \n\n\n\n
  • Consistent Markup for Navigation Item Labels (67198) (see dev note)
  • \n
\n\n\n\n

Query Loop Block

\n\n\n\n

[site admin][theme author][end user]

\n\n\n\n

For Pages, content creators will find two additional sorting options: Ascending by order and Descending by order, which allows for a display following the page attribute page_order (68781). 

\n\n\n\n \n
\n \n \n \n \n\n\n

Looking to replace your Query Loop block’s design? The Query Loop block patterns have been relocated from a modal to a dropdown. It’s still in the block toolbar, now under Change design (66993).

\n\n\n\n\"new\n\n\n\n

The Query Loop block now has a new option to ignore sticky posts. When selected, the Query Loop block ignores whether a post has the sticky option enabled. When used, all posts show based on the ORDER BY preferences selected without taking the sticky status into account. (66221) (69057)

\n\n\n\n\"query\n\n\n\n

The Query Loop block can get pages from all levels. Contributors added an attribute to just display the top level pages. Currently, users can only set “parents”: [0], via the code editor. There’s no easy option in the user interface yet.

\n\n\n\nExample of Test Query\n
<!-- wp:query {\"queryId\":1,\"query\":{\"perPage\":10,\"pages\":0,\"offset\":0,\"postType\":\"page\",\"order\":\"desc\",\"orderBy\":\"date\",\"author\":\"\",\"search\":\"\",\"exclude\":[],\"sticky\":\"\",\"inherit\":false,\"parents\":[0],\"format\":[]}} -->\n<div class=\"wp-block-query\"><!-- wp:post-template -->\n<!-- wp:post-title /-->\n\n<!-- wp:post-date /-->\n<!-- /wp:post-template -->\n\n<!-- wp:query-pagination -->\n<!-- wp:query-pagination-previous /-->\n\n<!-- wp:query-pagination-numbers /-->\n\n<!-- wp:query-pagination-next /-->\n<!-- /wp:query-pagination -->\n\n<!-- wp:query-no-results -->\n<!-- wp:paragraph {\"placeholder\":\"Add text or blocks that will display when a query returns no results.\"} -->\n<p></p>\n<!-- /wp:paragraph -->\n<!-- /wp:query-no-results --></div>\n<!-- /wp:query -->
\n\n\n\n\n

Introducing the Query Total block

\n\n\n\n

[theme author][site admin][end user]

\n\n\n\n

You know how many results are in your queries, but do your site’s readers? The new Query Total block is here to help.When added to a Query Loop block, the Query Total block displays the number of results the query has returned, or, alternatively, the current range in a set of paginated results. Out of the box, the new block shows its border controls (68150)(68323) (68507).

\n\n\n\n\"Query\n\n\n\n

Separator Block

\n\n\n\n

[theme author][developer][site admin]

\n\n\n\n

Now designers and creators can choose between a <div> or <hr> tag, opening up more styling possibilities for this block. The setting to switch can be found under Advanced > HTML Element. The transformation option now also includes the Spacer block. (67530) (66230)

\n\n\n\n\"div\n\n\n\n

Social Icons block updates

\n\n\n\n

[end user][site admin]

\n\n\n\n

The social icons block shipped with the option to add a Discord icon, received a Clear button to reset color options, and received contentOnly support. To add a URL to the icons, you now only need to press the arrow key once. This certainly streamlines the content creation process. (64883) (68564) (66622)

\n\n\n\n\"Social\n\n\n\n

Editor improvements 

\n\n\n\n

[end user][site admin][theme author]

\n\n\n\n

The Editor screens received a few helpful improvements in WordPress 6.8. 

\n\n\n\n

Reset 

\n\n\n\n

Reset colors for blocks and global styles in the editor with a single click thanks to the inline reset button added to all color controls (#67116). The Shadow panel and the Duotone settings also received a very handy reset button. Instead of the need to remove settings one at a time, designers can quickly start over. (66722) (68981)

\n\n\n\n

Cut

\n\n\n\n

The Block Options menu now also lists a Cut action together with the Copy action in the dropdown menu. (68554)

\n\n\n\n\"Cut\n\n\n\n

New Commands

\n\n\n\n

Two new commands were added to the Command Palette in the Site editor: 

\n\n\n\n
    \n
  • The Add new page command creates a new page from anywhere in the site editor and speeds up the content creation process (65476). 
  • \n\n\n\n
  • The Open Site Editor command offers a one click navigation to the site editor, from the page or post editor screens accessed via the WP-Admin menu (66722).
  • \n
\n\n\n\n

Starter Content

\n\n\n\n

With WordPress 6.8, a new pattern category is available, called Starter Content. It lists the page layouts that are otherwise available via the New Page modal. If a user has disabled the starter content  pop-up when creating new pages, this category surfaces the page layouts, should they be needed. (66819) The Inserter now also always shows all the available patterns in a list. (65611).

\n\n\n\n \n
\n \n \n \n \n\n\n

Patterns in folders

\n\n\n\n

[theme author][site admin] [developer]

\n\n\n\n

With WordPress 6.8 developer can now use sub-folders to organize patterns for their themes. For example, all header patterns are added to the “header” folder, all footer patterns into the “footer” folder, testimonials patterns into the “testimonials” folder, and so on. (62378)

\n\n\n\n

Data Views updates 

\n\n\n\n

This release also contains quite a few Data Views improvements:

\n\n\n\n

A user can modify the amount of whitespace that is displayed per row on three levels: comfortable, balanced, and compact.  (67170)  

\n\n\n\n

You can now set your site’s homepage from the Site Editor via the page’s actions menu (#65426). This is the equivalent of updating the Reading Settings in Settings > Reading. Under Pages in the editor, find the page you’d like to set as your homepage, click on the action menu, and select Set as homepage.

\n\n\n\n

All delete actions now show a Confirm to delete modal, to safeguard against accidental removal of templates, patterns, or pages. (67824)

\n\n\n\n

Here is a list of PRs with more Data View changes: 

\n\n\n\n
    \n
  • Add: Media field changing UI to Data views and content preview field to posts and pages. (67278)
  • \n\n\n\n
  • Add combined fields support. (65399)
  • \n\n\n\n
  • DataViews Fields API: Default getValueFromId supports nested objects. (66890)
  • \n\n\n\n
  • DataViews list layout: Hide actions menu when there is only one action and is primary. (67015)
  • \n\n\n\n
  • DataViews table layout: Hide actions menu when there is only one action and is primary. (67020)
  • \n\n\n\n
  • DataViews: Expand configuration dropdown on mobile. (67715)
  • \n\n\n\n
  • DataViews configuration dropdown: Remove style overrides. (65373)
  • \n\n\n\n
  • Update “hidden” icon to be clearer, and invert logic as used in DataViews. (65914)
  • \n
\n\n\n\n

API iterations

\n\n\n\n

[developer][plugin author][enterprise]

\n\n\n\n

New and updated functions and filters

\n\n\n\n

The new filter should load block assets provides a way for classic themes to use `wp-block-library` even when loading block assets only for blocks that actually render on a page. (61965). The dev note: New filter should_ load_block_ assets_on_demand in 6.8 has the details.

\n\n\n\n

WordPress 6.8 introduces a new function wp_register_block_ types_from_ metadata_collection(), which allows plugins to register multiple block types with a single function call. (62267) See also Dev Note More efficient block type registration in 6.8

\n\n\n\n

The block registration API now enforces the blockType.parent setting to be an array. The editor will now display a warning if it’s a different type, such as a `string`. (66250).

\n\n\n\n

Also consult the post Updates to user-interface components in WordPress 6.8

\n\n\n\n

Interactivity API

\n\n\n\n

The Interactivity API in WordPress 6.8 introduces an improved wp-each directive, making it more flexible and reliable. Previously, it could only loop through arrays or objects with a .map method. Now, it supports any iterable value, including strings, arrays, maps, sets, and generator functions. Additionally, it can handle undefined or null values by subscribing to changes and updating automatically when the value becomes iterable (67798).

\n\n\n\n

The release also brings a set of best practices to WordPress, developers using the Interactivity API and creating their own store might find the Dev Note: Interactivity API best practices in 6.8. particularly interesting, on how to avoid deprecation warnings and future-proof your plugins.

\n\n\n\n

This release also introduces the withSyncEvent action wrapper utility to streamline event handling, reducing potential performance bottlenecks (#68097). Details can be found in above linked dev note.

\n\n\n\n

Block Hooks API 

\n\n\n\n

In WordPress 6.8, work continues on improvements to the Block Hooks API.

\n\n\n\n

The Block Hooks API now supports dynamically inserting blocks into post content. (67272) A typical example would be a plugin that provides blocks that can be used in posts and that would like to provide extensibility for those blocks. The Block Hooks API will now also work with Synced Patterns. (68058)

\n\n\n\n

Security enhancements

\n\n\n\n

Various security-related enhancements made it into WordPress 6.8, the most significant of which is the switch to using bcrypt for password hashing. This includes improvements to the algorithm that’s used for storing application passwords and security keys. The dedicated post WordPress 6.8 will use bcrypt for password hashing covers these changes in detail. You will find a list of all security updates in 6.8 on WordPress Core Trac.

\n\n\n\n

Support for Speculative Loading

\n\n\n\n

Building upon the success of the Speculative Loading plugin, which has over 40,000 active installations, WordPress 6.8 integrates speculative loading into core. This feature utilizes the Speculation Rules API to prefetch URLs dynamically based on user interaction, aiming to improve performance metrics like Largest Contentful Paint (LCP). The current proposal has a default configuration employing conservative prefetching to ensure safety and compatibility, but feedback is requested on this. Developers have access to filters for customization, allowing adjustments to the speculative loading behavior as needed (#62503). Details are laid out in the Speculative Loading in 6.8 Dev Note.

\n\n\n\n

Additional Performance improvements

\n\n\n\n

For the WordPress 6.8 release, several key performance improvements have been implemented in the block editor and collectively contribute to a more responsive and efficient editing experience.

\n\n\n\n
    \n
  • To address performance issues in the site editor when handling navigation blocks with multiple submenu. The isBlockVisibleInTheInserter selector was improved to prevent unnecessary computations, resulting in a more efficient block editor experience (#68898).
  • \n
\n\n\n\n

Accessibility improvements

\n\n\n\n

WordPress 6.8 includes 26 accessibility improvements. The dev note has all the details: Accessibility Improvements in WordPress 6.8

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 09:16:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"Do The Woo Community: My Content Journey Leading to Content Sparks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=92890\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"https://dothewoo.io/blog/my-content-journey-leading-to-content-sparks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:222:\"BobWP reflects on their journey with audio and content creation, from childhood fascination with radios to launching the podcast, Do the Woo. They now introduce a new show, Content Sparks, exploring diverse content topics.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 08:51:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"Do The Woo Community: Inside the World of Composable CMS: A Deep Dive with Tom Cranstoun from AEM\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92578\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"https://dothewoo.io/inside-the-world-of-composable-cms-a-deep-dive-with-tom-cranstoun-from-aem/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:379:\"This show is sponsored by… Avalara: providing cloud-based and scalable global tax compliance that is hassle-free, safe and secure plus topped off with enterprise-class security. In this episode of Scaling Enterprise, WP and OSS, join Brad Williams, Tom Willmot, and Karim Marucchi as they dive into the world of enterprise content management system. Special guest […]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 17 Mar 2025 14:20:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:119:\"Do The Woo Community: Bridging Innovation and Community with Jessica Lyschik and Jakob Trost at the CloudFest Hackathon\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92934\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:118:\"https://dothewoo.io/bridging-innovation-and-community-with-jessica-lyschik-and-jakob-trost-at-the-cloudfest-hackathon/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:206:\"In this episode of Open Web Conversations, Adam Weeks discusses the CloudFest Hackathon with Greyd\'s Jessica Lyschik and Jakob Trost, exploring innovations, community contributions, and enhancing WordPress.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 17 Mar 2025 12:17:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"Do The Woo Community: Staying on Top of Things, A Packed RSS Reader\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=92628\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"https://dothewoo.io/blog/staying-on-top-of-things-a-packed-rss-reader/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:157:\"I have a strong appreciation for RSS, highlighting its simplicity, effectiveness in managing content, and preference over cluttered inboxes and social media.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 17 Mar 2025 10:39:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"Do The Woo Community: CloudFest Hackathon. Behind CMS Freedom with Patricia BT and Dennis Snell\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92906\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"https://dothewoo.io/cloudfest-hackathon-behind-cms-freedom-with-patricia-bt-and-dennis-snell/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:229:\"Patricia and Dennis discuss their CMS Freedom project at the CloudFest Hackathon, aiming to simplify system transitions and preserve online content. They emphasize teamwork, learning, and the value of contributions beyond coding.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 16 Mar 2025 13:20:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:38:\"Matt: Dalio & Benioff in Singapore\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=140704\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:36:\"https://ma.tt/2025/03/dalio-benioff/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:594:\"

With the world changing so quickly, it’s hard to find alpha, but the best way is by following the brightest thinkers. This CNBC interview with Ray Dalio and Marc Benioff is good, but it’s way better if you go to the livestream about 25 minutes in and see the full discussion without the editing. You hear what these great thinkers actually think, rather than what an editor thought you’d enjoy. A little bit of friction gets you a lot more information.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 15 Mar 2025 20:46:22 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"Gutenberg Times: WordPress 6.8 Dev Notes, WP:25, new Blocks and sites — Weekend Edition 321\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=37936\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://gutenbergtimes.com/wordpress-6-8-dev-notes-weekend-edition-321/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:22013:\"

Hi,

\n\n\n\n

This week I will feel a lot of FOMO as I had a chance to attend CloudFest but had to bow out at the last minute, to give my busted knee a rest. My doctor is convinced that I had overdone the walking in Manila and WordCamp Asia. So going to an amusement part and another trade show, would not be wise. Unfortunately, there are no live-streams to participate remotely. 🤷🏼‍♀️

\n\n\n\n

Meanwhile, I have been testing WordPress 6.8 and although there are no new ones, the updates to existing features are amazing and make content creation so much easier. Next week on Tuesday, in time of Beta 3 release, I’ll publish the Source of Truth, while Anne McCarthy is on sabbatical. The release team started to release Dev Notes already. You’ll find the list below.

\n\n\n\n

This week, I have many updates again in this edition. Enjoy!

\n\n\n\n

Yours, 💕
Birgit

\n\n\n\n\n\n\n\n

Tom Willmot, CEO of Human Made posted the WP:25 Recap: The Future of WordPress with links to the recorded session. WP:25 was a virtual conference, hosted by Human Made with some awesome speakers and panels. I wanted to highlight two of them:

\n\n\n\n

Tammie Lister speaking on The power of FSE, in which she took the audience “through the incredible transformation Full Site Editing is bringing to WordPress. Tammie made it clear: FSE isn’t just another feature—it’s a fundamental shift in how teams build and manage content.”

\n\n\n\n

Mary Hubbard, executive director of WordPress, and Noel Tock chat about what’s next for the world’s favorite CMS in the coming year. WordPress in 2025. “AI is reshaping the way we interact with content, and WordPress is embracing AI in every way, any way that can enhance it, without replacing the human creativity aspect. So I think this right now, we’re at a pivotal point, not just for what it means for open source, but actually, what it means for the project itself.” – Mary Hubbard.

\n\n\n\n

You’ll find the other WP:25 sessions on this YouTube Playlist

\n\n\n\n

Developing Gutenberg and WordPress

\n\n\n\n

WordPress 6.8 release cycle is progressing as schedule to Beta 3 next week. WordPress 6.8 Beta 2 was released this week.

\n\n\n\n

And a reminder to Help Test WordPress 6.8 to figure out if all features work as supposed to and report bugs. The instructions provided Krupa Nanda are excellent to get a head start on many things updates in WordPress 6.8

\n\n\n\n

The first Dev Notes are now available on the Make Core blog:

\n\n\n\n\n\n\n\n
\n

🎙️ Latest episode: Gutenberg Changelog 115 – Gutenberg Releases 20.2, 20.3, 20.4, WordPress 6.8 and WordCamp Asia with special guest Jessica Lyschik.

\n\n\n\n\"Jessica\n
\n\n\n\n

Plugins, Themes, and Tools for #nocode site builders and owners

\n\n\n\n

In his latest post, How to disable and lock Gutenberg blocks, Bud Kraus takes you on a deep dive into content governance topic and how to provide guardrails to authors and enforce editorial guidelines for your site. It’s comprehensive coverage of the topic and includes explanation on how UI tools work as well as enforcing block locking with PHP and via theme.json.

\n\n\n\n
\n\n\n\n

ICYMI, After a longer beta period, GenerateBlocks 2.0 was released Mid-February with the aim of providing “fundamental changes to GenerateBlocks with a streamlined and robust system to make building fast and effective sites easier” Kathy Zant wrote in the announcement post Introducing GenerateBlocks 2.0: A New Era for High Performance Websites . The post also provides a migration path from version 1 to version 2 and outlines many changes for the plugin.

\n\n\n\n
\n\n\n\n

Diane and Yann Collet created a great resource at WP Gallery featuring beautiful websites designed with the Gutenberg Block Editor. It’s a fantastic place for inspiration.

\n\n\n\n\"\"\n\n\n\n

Twentig also a creation of Diane and Yann Collet, was also updated last month. The plugin is a toolkit designer working on Block Themes and has over 25,000 users. It provides Starter content, more Gutenberg Blocks and hundreds of patterns. You can browse the changelog of the latest version on the Twentig website.

\n\n\n\n
\n\n\n\n

Bhargav (Bunty) Bhandari posted on X (former twitter) about his work on a new block to add LinkedIn-like work experience information to a site. With it, you can showcase professional experience, with option to add a title, company name, description. The plugin is on its way to the WordPress plugin repository, and it might take a few weeks to be released. Meanwhile, you can download it from GitHub repo.

\n\n\n\n\"\"\n\n\n\n

Djordje Arsenovic created a Typewriter block, and it is now available in the WordPress plugin repository. Use the block to make text appear on the fronted as it was typed out on the old-fashioned typewriter machine.

\n\n\n\n

WordPress 6.8 will be released on April 15, 2025.

\n\n\n\n

Theme Development for Full Site Editing and Blocks

\n\n\n\n

Is your theme.json getting too big? Iulia Caza, developer at Dekode, built an npm package called Create Theme JSON that lets you split up the theme.json into multiple files in a theme-json folder and the build script assembles it into your theme’s theme.json file, when ready. “It definitely makes development much easier and faster.” Caza wrote on LinkedIn.

\n\n\n\n
\n\n\n\n

Anne Katzeff published a new tutorial on how to add categories to a Block Theme menu and guides you through accessing the menu editor and adding custom links for categories by copying their URLs from the WordPress dashboard. Katzeff also demos the steps in this YouTube video

\n\n\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

Ryan Welcher worked on a new WordPress block theme for the Block Developer Cookbook during his live stream. You can watch how he creates a new skin for his theme (aka Style variation) and also add different block style variations. Welcher also prompts Cursor AI to make changes. The code is available on this GitHub repository.

\n\n\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

Joshua Siagia announced the arrival of WindPress – a platform-agnostic Tailwind CSS integration plugin for WordPress that allows you to use the full power of Tailwind CSS within the WordPress ecosystem, streamlining workflows for developers. It supports Tailwind CSS v3 and v4, offers features like autocompletion, HTML-to-native conversion, and class sorting, and ensures lightweight performance with optimized CSS caching. Seamlessly compatible with popular builders like Gutenberg and Bricks, it simplifies customization while maintaining speed. WindPress is ideal for developers seeking efficient Tailwind CSS integration in WordPress projects. It is now available in the WordPress plugin repository: WindPress

\n\n\n\n

 “Keeping up with Gutenberg – Index 2025” 
A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: 2020 | 2021 | 2022 | 2023 | 2024

\n\n\n\n

Building Blocks and Tools for the Block editor.

\n\n\n\n

Save the date! Nick Diego and Ryan Welcher will demo on March 19th, 2025 How to build incredible WordPress Blocks with Cursor AI on YouTube Live hosted by Jamie Marsland. They will explore the power of AI in crafting exceptional WordPress blocks. In this session, you’ll discover practical techniques, pro tips, and AI-driven tools to enhance your block-building skills and streamline workflows. Whether you’re a developer or looking to expand your WordPress expertise, this is your chance to unlock new possibilities for your WordPress site!

\n\n\n\n\"\"\n\n\n\n

Bart Kalisz, JavaScript Engineer at WooCommerce announced in his post WooCommerce Blocks client files relocated to complete monorepo merge. As of March 5, 2025, WooCommerce Blocks client files have moved from plugins/woocommerce-blocks to plugins/woocommerce/client/blocks, completing the monorepo merge initiated in December 2023. This change enhances codebase consistency and repository organization. Developers with existing pull requests need to rebase their branches. End users will not experience any functional differences. The build process remains the same, ensuring a smooth transition.

\n\n\n\n
\n\n\n\n

Do you want to jumpstart adding AI to your site? Felix Arntz has you covered with his plugin AI Services from the WordPress repository. The plugin provides a “central infrastructure that allows other plugins to make use of AI capabilities. It exposes APIs that can be used in various contexts, whether you need to use AI capabilities in server-side or client-side code.” The latest update comes with AI image generation, starting with OpenAI’s DALL-E and Google’s recently published Imagen models! The plugin page also lists a few code examples on how to integrate it using PHP or JavaScript.

\n\n\n\n
\n\n\n\n

Developer Advocates, Brian Coords and Nick Diego were experts on this week’s InstaWP webinar: Building WordPress Plugins with AI with founder Vikas Singhal to “reveal game-changing insights for leveraging AI to build powerful WordPress plugins.” Both developers demo’d their workflow programming with Cursor AI.

\n\n\n
\n
\n
\n
\n
\n\n\n
\n\n\n\n

This post Introducing Preview Sites: Pushing the Limits of Collaboration with Studio, Antonio Sejas catches us up on the latest features of Studio, WordPress’s local development tool. “Demo Sites” are now “Preview Sites” with increased storage (2 GB) and more sites allowed (10). Personalized URLs are introduced, and sites remain active for seven days after the last update. These changes enhance collaboration and testing for Studio users.

\n\n\n\n
\n\n\n\n

Geoff Graham built Baseline Status in a WordPress Block and published a blog post about his approach, from scaffolding, settings, supports, rendering front and back end and styling. The plugin is available on the WordPress repository
Baseline Status

\n\n\n\n\"\"\n\n\n\n

Need a plugin .zip from Gutenberg’s master branch?
Gutenberg Times provides daily build for testing and review.

\n\n\n\n

Now also available via WordPress Playground. There is no need for a test site locally or on a server. Have you been using it? Email me with your experience

\n\n\n\n

\"GitHub

\n\n\n\n

Questions? Suggestions? Ideas?
Don’t hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.

\n\n\n\n
\n\n\n\n

For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com

\n\n\n\n
\n\n\n\n

Featured Image: Wasserburg am Inn – Photo by Birgit Pauli-Haack

\n\n\n\n
\n\n\n\n

Don’t want to miss the next Weekend Edition?

\n\n\n

We hate spam, too, and won’t give your email address to anyone
except Mailchimp to send out our Weekend Edition

Thanks for subscribing.
\n\n\n
\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 15 Mar 2025 17:15:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"Do The Woo Community: Do the Woo Friday Shares, March 14, 2025 v10\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=92817\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"https://dothewoo.io/blog/do-the-woo-friday-shares-march-14-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"This weeks curated shares from the community.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 14 Mar 2025 10:28:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"Gravatar: SEO-Friendly Author Bio Pages: Essential Tips\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=2849\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://blog.gravatar.com/2025/03/13/author-seo/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:20769:\"

If you’re an author, chances are you’ve come across terms like E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness). These concepts are critical for improving your visibility in search engine results, but putting them into action can feel like a daunting puzzle. Whether you’re a book author, a blogger, or someone with a diverse portfolio of written work, creating a strong web presence is essential to establishing your authority.

\n\n\n\n

Author SEO goes beyond just writing great content – it involves technical elements like schema markup and consistent author profiles to signal credibility to search engines. But how do you bring all these moving parts together to create an effective strategy?

\n\n\n\n

In this guide, we’ll explore actionable steps to optimize your author bio pages and build a consistent online presence. From Gravatar integration to schema markup, these techniques will help you strengthen your E-E-A-T signals and achieve better search rankings.

\n\n\n\n

Building author E-E-A-T through optimized bio pages

\n\n\n\n

Establishing E-E-A-T is essential for authors striving to improve their visibility online. According to Google’s Search Quality Rater Guidelines, high E-E-A-T pages are deemed more trustworthy, which can directly impact rankings.

\n\n\n\n

Your author bio page is a prime opportunity to strengthen your position. Here’s how to optimize each component:

\n\n\n\n
    \n
  • Experience: Share milestones like years of writing, notable projects, or awards. This helps showcase your firsthand knowledge, making your expertise relatable and credible.
  • \n\n\n\n
  • Expertise: Highlight qualifications such as degrees, certifications, or industry recognition. These reinforce your authority on your subject matter.
  • \n\n\n\n
  • Authoritativeness: Link to your published work on reputable platforms, which positions you as a trusted source. Tools like Gravatar ensure your online presence remains consistent.
  • \n\n\n\n
  • Trustworthiness: Build trust by including testimonials or reviews. A professional headshot and clear contact details further enhance reliability.
  • \n
\n\n\n\n

Keep in mind that an optimized bio page is more than just an introduction to your readers – it signals your credibility and authority to search engines and readers alike. 

\n\n\n\n

Now that you have a strong bio page in place, the next step is integrating tools like Gravatar to maintain consistency across all platforms. 

\n\n\n\n

Creating consistent author profiles with Gravatar

\n\n\n\n\"Gravatar\n\n\n\n

Being consistent across all your digital profiles can help you build a solid and trustworthy online presence, and Gravatar simplifies this process. This platform links your profile picture and key details – like your name, bio, and website – to your email address, ensuring that your information is automatically updated across supported websites.

\n\n\n\n\"Example\n\n\n\n

For authors, Gravatar eliminates the hassle of managing profiles manually on multiple platforms. Whether it’s a WordPress blog, an online portfolio, or a comment section, Gravatar ensures your professional identity remains uniform, building trust and reinforcing your E-E-A-T.

\n\n\n\n

Setting up Gravatar is straightforward: Create an account, upload a professional photo, and fill in your details. 

\n\n\n\n\"Example\n\n\n\n

From there, Gravatar takes care of the rest, providing flawless integration and a polished, consistent online presence. This not only saves time but also enhances your credibility, making it an essential tool for any author looking to strengthen and monitor their digital footprint.

\n\n\n\n\"\"\n\n\n\n

WordPress integration and cross-platform syncing

\n\n\n\n

According to W3Techs, “WordPress is used by 62.0% of all the websites whose content management system we know. This is 43.6% of all websites.” So, it’s no wonder that so many authors, writers, and contributors go with WordPress as their platform of choice. 

\n\n\n\n

Gravatar integrates perfectly with WordPress, automatically displaying your avatar across the WordPress ecosystem wherever your email address is linked, such as in blog posts, comments, or author pages. This standard integration helps maintain a consistent online identity with minimal effort.

\n\n\n\n

However, for authors looking to go beyond the basics, the Gravatar Enhanced plugin offers additional features. Unlike the default Gravatar setup, which only pulls the profile picture, this plugin provides greater customization options, allowing you to display more detailed author profiles, including links to your social media and published works. 

\n\n\n\n\"Example\n\n\n\n

You can also control how your Gravatar appears on various sections of your WordPress site, such as post bylines and author widgets.

\n\n\n\n

On top of that, with Gravatar you can create multiple profiles each linked to a different email address, and you can pull any of these easily with the Gravatar Enhanced plugin. This is invaluable if you write across different genres or target audiences (more on that in a second). 

\n\n\n\n

If you’re tech-savvy or have the budget to work with a developer, and have many people contributing to your website, you can also take advantage of the Gravatar REST API. This gives you more flexibility and granular control over exactly what data gets imported and displayed on the website. It also makes it much easier for guest authors to contribute – their Gravatar profile information will be automatically imported. 

\n\n\n\n

This applies to every single platform that has integrated Gravatar, including GitHub, Slack, OpenAI, Figma, Zapier, and many more. 

\n\n\n\n\"Logos\n\n\n\n

Managing multiple author identities

\n\n\n\n

For authors who write across different genres or target diverse audiences, managing multiple online identities can be a challenge. Gravatar simplifies this with its ability to associate multiple email addresses with unique profiles. Each profile can feature a distinct avatar, bio, and contact details, allowing you to tailor your online presence to specific audiences or platforms.

\n\n\n\n

To use a different profile with Gravatar Enhanced , you just need to put the email address corresponding to that profile. 

\n\n\n\n\"Importing\n\n\n\n

For instance, if you write technical guides under one pen name and fiction under another, Gravatar ensures your profiles stay separate and relevant. By linking each email to a unique profile, you maintain consistency and professionalism for both identities without any crossover confusion.

\n\n\n\n

This flexibility helps you maintain your E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) across different niches, ensuring that each identity aligns with its intended audience while reinforcing your credibility.

\n\n\n\n

Technical SEO essentials for author pages

\n\n\n\n

Optimizing the technical side of your author pages can help your site rank well in search engine results and provide an easy and memorable user experience. Here are some key areas to focus on:

\n\n\n\n

Page speed and mobile responsiveness

\n\n\n\n

Fast-loading, mobile-friendly pages are a must. Use tools like Google PageSpeed Insights to identify performance bottlenecks and ensure your site is accessible on all devices. Reasons for a slow website include: 

\n\n\n\n
    \n
  • Large image files – High-resolution images that aren’t optimized can significantly increase load times.
  • \n\n\n\n
  • Too many HTTP requests – Each image, script, or CSS file requires a separate HTTP request, slowing down the site.
  • \n\n\n\n
  • Unoptimized JavaScript and CSS – Heavy or poorly written scripts can delay rendering, especially if they aren’t minified or compressed.
  • \n\n\n\n
  • Lack of browser caching – Without caching, users have to download site elements repeatedly, even if they’ve visited before.
  • \n\n\n\n
  • Slow server response time – Poor hosting or high traffic can lead to delays in how quickly the server processes requests.
  • \n\n\n\n
  • Bloated plugins – Excessive or poorly coded plugins can slow down the backend and frontend of the site.
  • \n\n\n\n
  • Unoptimized database – A database cluttered with unnecessary data, like old revisions or spam comments, can slow query times.
  • \n\n\n\n
  • High traffic without proper resources – A sudden spike in visitors can overwhelm your hosting plan, leading to slowdowns.
  • \n
\n\n\n\n

Whatever the issue is, make sure you fix it on time since most users access the web via mobile, a responsive, clutter-free design helps with usability and improves your search rankings. 

\n\n\n\n

Schema markup for author pages

\n\n\n\n

Implementing schema markup helps search engines understand your content better. Use the “Author” schema to display rich snippets, such as your name, bio, and image, directly in search results. 

\n\n\n\n\"Example\n\n\n\n

Canonical URLs and structured navigation

\n\n\n\n

Ensure each author page has a unique, canonical URL to prevent duplicate content issues. Structured navigation, including breadcrumbs, helps search engines and users understand your site’s hierarchy, improving crawlability and the user experience. They are also essential for screen readers and users who only use keyboards to navigate. 

\n\n\n\n

Secure and accessible design

\n\n\n\n

A secure site (HTTPS) is critical for building trust with both users and search engines. Additionally, ensure your content is accessible to all users, including those with disabilities, by adhering to Web Content Accessibility Guidelines (WCAG). Here are some of the main areas you need to consider: 

\n\n\n\n
    \n
  • If you have a shop for your books, events, or services, make sure that users can successfully complete a purchase with any assistive technology, including screen readers and keyboard navigation. 
  • \n\n\n\n
  • Create functional and descriptive alt text for your images and files. Users should be able to understand the main idea behind each image and if it’s only decorative, just leave the alt text tag empty. 
  • \n\n\n\n
  • Make sure your link texts make sense – “click here to book a spot for my book signing” is much better than just “click here.”
  • \n\n\n\n
  • Use accessible fonts and ensure that users can scale text up to 200% without the loss of functionality and content. 
  • \n
\n\n\n\n

Meta descriptions and optimized headings

\n\n\n\n

Every author page should have a compelling meta description and properly structured headings (H1, H2, etc.). These elements improve click-through rates and help search engines identify the page’s main focus. They are also essential for accessibility: The meta descriptions and titles are what the assistive technologies will read out loud to people who use them and want to search online. 

\n\n\n\n

Implementing author schema markup

\n\n\n\n

Schema markup helps search engines understand the structure and content of your author pages, boosting visibility in search results. By implementing author-specific schema, you can enhance your E-E-A-T signals, making your pages more appealing to both users and search engines.

\n\n\n\n\"Example\n\n\n\n

For blog authors, use the Article schema to mark up your blog posts, including details like the headline, author name, and publication date. For book authors, the Book schema is ideal. It highlights properties like the book title, ISBN, and author information, making your work easier to find​.

\n\n\n\n\"Example\n\n\n\n

You can then implement the schema on your website with the Google’s Structured Data Markup Helper or WordPress plugins like Rank Math and Yoast. You can tag relevant sections of your page, such as your name, bio, and links to your published works, and generate JSON-LD code for seamless integration​. 

\n\n\n\n

To get the most out of schema markup, make sure you: 

\n\n\n\n
    \n
  • Include key details: Author name, profile image, and links to verified profiles.
  • \n\n\n\n
  • Stay consistent across platforms by syncing with Gravatar, which adds a professional touch to your author bio.
  • \n\n\n\n
  • Validate your schema with Google’s Rich Results Test to check for errors and ensure all required fields are present.
  • \n
\n\n\n\n

Measuring and improving author page performance

\n\n\n\n

Optimizing your author pages doesn’t stop at implementation – you need to measure their performance and refine them over time. Here’s how:

\n\n\n\n

Key metrics to track

\n\n\n\n
    \n
  • Organic traffic – Use tools like Google Analytics to monitor how many users find your author pages through search.
  • \n\n\n\n
  • Bounce rate – A high bounce rate could indicate poor user experience or irrelevant content.
  • \n\n\n\n
  • Time on page – Longer time spent suggests that visitors find your content engaging and valuable.
  • \n\n\n\n
  • Search rankings – Track keyword rankings for your name, book titles, or blog posts using tools like Google Search Console, Ahrefs, or SEMrush.
  • \n
\n\n\n\n

Improving author page performance

\n\n\n\n
    \n
  • Enhance content – Ensure your bio includes relevant keywords, links to authoritative publications, and an engaging summary of your work.
  • \n\n\n\n
  • Optimize for mobile – Many visitors will access your page from mobile devices, so ensure your layout is responsive and user-friendly.
  • \n\n\n\n
  • Leverage internal linking – Link to related blog posts, books, or interviews to keep users engaged and improve site navigation.
  • \n\n\n\n
  • Update regularly – Add new publications, awards, or noteworthy achievements to keep your page fresh and relevant.
  • \n
\n\n\n\n

Use heatmaps and session recordings

\n\n\n\n

Heatmaps (e.g., from tools like Hotjar) show which parts of your page users interact with most, helping you refine layout and content. 

\n\n\n\n\"Example\n\n\n\n

Session recordings provide deeper insights into user behavior, highlighting any obstacles they encounter.

\n\n\n\n

Enhance your author authority now

\n\n\n\n

As AI-generated content continues to flood the web, a verified and consistent author profile is the best strategy to help you stand out and maintain reader trust. A strong, recognizable presence builds credibility and helps search engines and audiences alike see you as a reliable source.

\n\n\n\n

With the tips outlined in this article, you’ll lay a solid foundation for optimizing your author website. Start with a polished bio, leverage schema markup for better search visibility, and use Gravatar to maintain a consistent online identity. With its “Update Once, Sync Everywhere” functionality, Gravatar ensures your avatar and profile details are synchronized across platforms, saving you time while keeping your branding professional and cohesive.

\n\n\n\n

The key to successful author SEO lies in the trinity of a professional bio and website, technical SEO, and an up-to-date Gravatar profile. Ready to boost your authority? Learn more about Gravatar today!

\n\n\n\n\"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 13 Mar 2025 18:49:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"Do The Woo Community: Meet Some of Our Hosts at CloudFest 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=92709\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://dothewoo.io/blog/meet-some-of-our-hosts-at-cloudfest-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:100:\"Make sure and say hi to some of our hosts if you are attending the CloudFest event or the Hackathon.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 13 Mar 2025 12:03:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"Do The Woo Community: A New Show, Content Sparks, with Regular Host BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92609\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://dothewoo.io/a-new-show-content-sparks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:172:\"BobWP introduces \"Content Sparks,\" a show focusing on content creation insights, featuring tips from his 18 years in the WordPress space combined with my hosts experiences.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 13 Mar 2025 09:27:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"WPTavern: #160 – Rahul Bansal on Success in Enterprise WordPress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=188219\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:80:\"https://wptavern.com/podcast/160-rahul-bansal-on-success-in-enterprise-wordpress\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:57342:\"Transcript
\n

[00:00:00] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.

\n\n\n\n

Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, creating a successful business in enterprise WordPress, and working to foster the WordPress community.

\n\n\n\n

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice. Or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.

\n\n\n\n

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.

\n\n\n\n

So on the podcast today, we have Rahul Bansal.

\n\n\n\n

Rahul is the founder and CEO of rtCamp, a large agency that specializes in enterprise grade WordPress projects. He began his journey quite differently, starting as an individual blogger back in 2006, discovering WordPress in 2007, and gradually transitioning from being a publisher to a freelance developer, before founding rtCamp in 2009.

\n\n\n\n

Today, rtCamp is an enterprise grade WordPress consultancy agency operating globally and trusted by clients such as Google, Meta, Automattic, News UK and Al Jazeera.

\n\n\n\n

Rahul sheds his light on working with enterprise clients in the WordPress space. Many of us are familiar with WordPress in the context of small businesses and blogging, but the enterprise space demands additional layers of security and scalability. Rahul explains the factors that set enterprise projects apart, and why meticulous code reviews, and security audits are essential when working at this level.

\n\n\n\n

He talks about the opportunities in the enterprise space, recounting how rtCamp initially stumbled into enterprise level projects, not even realizing their potential until a client’s high expectations led to a decision to market themselves as an enterprise agency.

\n\n\n\n

We also discussed the role of WordPress in enterprise environments, from why Gutenberg has become a credible selling point due to its powerful editing capabilities, to how the platform’s flexibility supports varied enterprise needs.

\n\n\n\n

Rahul also gets into the importance of positioning. How historical context offers advantages, and the expanding market that makes WordPress a compelling choice for large clients today.

\n\n\n\n

Towards the end, we explore rtCamp’s innovative intern program, aimed at growing the WordPress talent pool, and the way they’re contributing back to the WordPress project, a win-win for the business and the broader community.

\n\n\n\n

If you’ve ever considered what it takes to work with WordPress at the enterprise level, this episode is for you.

\n\n\n\n

If you’re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you’ll find all the other episodes as well.

\n\n\n\n

And so without further delay, I bring you, Rahul Bansal.

\n\n\n\n

I am joined on the podcast today by Rahul Bansal. Hello.

\n\n\n\n

[00:03:47] Rahul Bansal: Hello.

\n\n\n\n

[00:03:48] Nathan Wrigley: It is very nice to have you on the podcast today. We’re going to talk about the enterprise, which I confess is something that I only really know about because people talk about it. I’ve never worked in the enterprise, I’ve never worked with enterprise clients. So Rahul is here. He’s very much in the enterprise as you’re about to find out, and he’s going to educate me all about that.

\n\n\n\n

So Rahul, I wonder if you wouldn’t mind just for a minute or two minutes, just tell us who you are, what you do in the WordPress space, where you work, your position there, and so on. A little potted bio.

\n\n\n\n

[00:04:18] Rahul Bansal: Currently I am founder and CEO of rtCamp, which is a large agency specifically dealing in enterprise grade WordPress projects. I started quite differently, like I started as a individual blogger, back in 2006.

\n\n\n\n

In 2007 I found WordPress. I started developing with WordPress in 2007. And slowly from being a publisher, I become freelance developer, and then around 2009 rtCamp started. So I’ve been with rtCamp for the last 16 years.

\n\n\n\n

[00:04:46] Nathan Wrigley: That’s been quite a journey. I see the name rtCamp everywhere. And we should just say, so it’s spelt, lowercase r, lowercase t, and then Camp with a capitol C, a m p. Go and Google that, and have a look at what the team over there doing.

\n\n\n\n

How big has the team grown to? How many employees, staff do you have over there now?

\n\n\n\n

[00:05:05] Rahul Bansal: So currently we are 230 people, all spread over.

\n\n\n\n

[00:05:08] Nathan Wrigley: That is truly an enormous agency. So bravo for growing that. That’s really incredible.

\n\n\n\n

The first question that I want to ask though is, when does normal WordPress become enterprise WordPress? At what point do we cross the Rubicon where a site is, I don’t know, big enough, or your agency is working with a different type of client? Can you define what you think that means? And I’m sure that if you’re on the cusp of being an enterprise agency, this is something that, you know, may be slightly confusing.

\n\n\n\n

[00:05:37] Rahul Bansal: Firstly, there is no formal definition to that. Many agencies believe they’re serving enterprise space when they’re not. Some people are actually serving enterprise space, but they don’t realise it.

\n\n\n\n

So in my opinion, it’s where the requirement changes a lot. Like, for example, if we’re building a small WordPress site, which I don’t consider as an enterprise site, we will be tempted to pick first theme and plugin that matches our need, like if it works, if it gets a job done, that’s it.

\n\n\n\n

But then in enterprise space, there is a lot of security and scalability concerns. These two concerns are very big. Something might be working all right, but then when you look at the code, you realise that there’s going to be a security issues, or there could be scalability issues. Many times, indy developer person, they design small WordPress plugins. They don’t have data or big enough site to test it on a large installation. So those things are not tested on really high traffic website. So enterprise can mean really high traffic website, with a lot of scalability requirement.

\n\n\n\n

On the other hand, the traffic can be less, but the security requirement can be enormous. Consider the White House website. It was on the WordPress with the previous administration, and it’s again, on the WordPress with the new administration. So in both cases, I don’t think White House, like a website we can classify as a very high traffic website, but it is a very sensitive website.

\n\n\n\n

It would be a lot embarrassing if that site gets hacked. So every piece of code that goes into White House website, which agency is working on it, will be thoroughly checked for security attack, for audit, for all the compliances. And this additional efforts is what makes it enterprisey, in my opinion.

\n\n\n\n

[00:07:12] Nathan Wrigley: Okay, so it’s not necessarily the size of the client, or the fame, for want of a better word, of the client. It’s more about the kind of work that you’re doing in the background. So custom code largely, because you simply at that scale cannot have something off the shelf.

\n\n\n\n

[00:07:28] Rahul Bansal: So we can have things off the shelf. The thing is, you cannot just take it and use it. You still have to own it in that sense. Like, for our clients also, we go and use many things from WordPress plugin directory. But then when we put it on this website, it is kind of like signed by us. So it’s like we have to verify, even if it is not coded by us, we have to verify line by line that it is following best coding practices, database queries will scale with high traffic, if it is a high traffic website.

\n\n\n\n

There are many checks and balances in place. So no matter if you are doing in-house, like as a custom coding, or we are buying a premium plugin or using a free plugin, everything has to go through certain checks. And those checks are very expensive to do, because that’s a human labor. You have to literally go through things line by line. And in many cases, you have to put extra efforts to make it scalable with their existing system.

\n\n\n\n

Because usually a large enterprise won’t use just a website in silos. It’ll be part of multiple system like authentication system, where if an employee joins a large organisation based on some rule, they might get automatic access to their website. Likewise, if they leave organisation, their access should be automatically revoked, or they have some CRM integrations, data integrations, some kind of asset, like digital asset management solution integration.

\n\n\n\n

So all these have to be connected, and this all need to work together. So a lot of effort goes in doing these extra things, which are either don’t exist for small websites. So, enterprise website that I’m talking about, this can be really unknown website. We have a client which is basically a government public origin fund. Common people don’t even know about them, but they basically want pretty much all the big companies we know. Like, they have stake in all the big companies. Their asset is something like $400 billion in under management.

\n\n\n\n

Most people don’t even know that company. But then it’s very sensitive because that money they’re managing is public money, it’s not like VC fund. It’s actually state reserve. Now, seriousness, we need to demonstrate in the security is very high, because if something gets hacked or somebody uploads the wrong investor report or something like portfolio report, it can have a lot of consequences.

\n\n\n\n

[00:09:32] Nathan Wrigley: It kind of sounds to me as if the assurance that you are giving an enterprise client is basically that what we’ve built is, as far as we can tell, it’s bulletproof. We’ve gone through it line by line. We may have custom coded bits and pieces, but certainly the bits that we didn’t custom code, we are totally guaranteeing that this is going to be robust.

\n\n\n\n

And also it’s sounds a bit like, if a client at an enterprise level approaches you and they say, can you do this? Your answer is yes. Basically, yes, we can do it. We can do it with WordPress. There may be a cost, but we can do it. There’s almost no scenario where a client would come to you and say, can you do this, forget the money, can you do it? The answer’s never no. The answer’s always going to be yeah, yeah, we’ll figure it out.

\n\n\n\n

[00:10:15] Rahul Bansal: So that’s the thing, like if the budget has no limit then there is no limit on technology. Most often, like even where enterprise agency, WordPress has this large spectrum. So we end up with a lot of low quality leads, where somebody knocks on an enterprise agencies’ door and they really have budget constraint. They really want something really good out of the box, but they don’t want to pay for it. Or they don’t want to pay as high as it’ll require to deliver that kind of solution.

\n\n\n\n

For some enterprises, budget is no limit, but then we try to be mindful of resources. For example, many enterprise agencies, including us, if you go to their GitHub account, they would have list of published themes and plugins. Most commonly plugins, themes rarely are used off the shelf. So we will build these plugins to ensure that the cost of rebuild project is less, like if we have to deliver another project, we try our best that we reuse as much as possible.

\n\n\n\n

And that’s the open source spirit, that the entire WordPress committee follows. We use many times solutions that are already put in open source by our competing agencies. They also use our solution. So that’s where the enterprise solution with WordPress is also affordable. The right enterprise client that we target, usually have higher budget than we would need to develop because we are competing against a lot of experienced managers, which are very expensive, super expensive.

\n\n\n\n

And when I is super expensive, I’m just talking about licensing fees. Before you hire an agency to write custom code for you, you have already paid a lot of money just for the right to use the software. With WordPress, that right to use costs zero. And then all the nice agencies in WordPress space, big, small, no matter what size they are, try their best to reuse existing solutions, to bring the cost down.

\n\n\n\n

So enterprise WordPress, relatively, cost less than other enterprise CMS, but then it certainly costs a lot than building a small website. Like, you cannot go to an enterprise agency and expect in $500 your site to be built perfectly, because the requirement gathering phase, like talking to all stakeholders and understanding all the solutions they use inhouse can take like many days.

\n\n\n\n

[00:12:15] Nathan Wrigley: So you may have answered this question just now with what you’ve just said. I feel that you’ve definitely gone into this territory, but it sounds like there’s a lot of line by line checking of everything. So for example, if you use a plugin off the repo, you’re going to go through that one line at a time. And you said this can be an expensive process. You’ve also said that obviously there’s benefits of using WordPress because you can take things that other people have used and so on.

\n\n\n\n

But I guess at some point there’s got to be some sort of tipping point where you think, okay, WordPress is going to be good for this project, but it might not be good for that project. Is it always WordPress for you? Do you always lean into WordPress, or does there come a point where you say, do you know what, with the custom things that this particular client wants and what have you, lets just build the thing ourselves, let’s not rely on the CMS, or do you always lean in on WordPress?

\n\n\n\n

[00:13:01] Rahul Bansal: Maybe it’s the nature of our positioning that we rarely get things that we cannot do in WordPress, so we always do things in WordPress. The boundary varies with how much off the shelf WordPress we’ll use, and how much custom we’ll use. In one of the project, I remember there was a specific data crunching process that we needed to build. And we felt that it’ll be better if it is built as a microservice and run independently.

\n\n\n\n

So we built that in Python, but then it was talking to WordPress REST API. So that freedom we have from client, for example like that microservice, that microservice was never visible to any of the client’s editorial team. Everything they were doing, their only interface was WP admin. There was no second login or no second interface to them. It was just something was running on some server and magically data was going inside and outside WordPress.

\n\n\n\n

And that’s the power of WordPress. It has so many APIs to communicate with outside world, like rest API, GraphQL, and even from the traditional XML-RPC. That WordPress can coexist with other systems very nicely. And that’s where we never face that, can we do this on WordPress or not? It’s like, can we do everything on WordPress, or do we need to put some minor things outside WordPress?

\n\n\n\n

And those decisions are not the engineering limitation. Like, that microservice, we could have put it in WordPress also, but we felt that its architecture was more suited for independent microservice. That was the right call, it turned out to be right call. Much later that microservice grew independently.

\n\n\n\n

[00:14:26] Nathan Wrigley: If we rewind the clock to the beginning when you were just beginning with WordPress and beginning the agency that ended up being rtCamp with your 230 odd employees, did you intend for what’s happened to happen? Did you always know that you wanted to grow something to the point where it became, air quotes, enterprise with many, many employees, or did it just evolve over time unexpectedly?

\n\n\n\n

[00:14:49] Rahul Bansal: Yeah, it all happened unexpectedly. Like, I started as a professional blogger. I used to make money from advertising, affiliate marketing. So it’s like, I wasn’t doing anything remotely related to agencies.

\n\n\n\n

So one thing led to another and then I started freelancing. Then even after freelancing, when I started rtCamp as an agency, because I was coming from bloggersphere, most of my initial client were bloggers, like independent bloggers. Somebody wanted a theme, somebody wanted a plugin, somebody wanted a sidebar, which sidebar just used to be a lot more popular in those early days of blogging. Like, people used to have MySpace, like experience on the web, like lots of widgets, email submission form, this pop up.

\n\n\n\n

So in fact, the first enterprise client that walked into our door, that’s why I said like many agencies don’t even realise when they mingle with enterprise space. I kind of felt very irritated because they asked so many questions. They got our reference from LinkedIn. We had zero, we were not even using enterprise word anywhere in our branding, marketing, anywhere at all. But back in 2010, also, we made a good name for ourselves.

\n\n\n\n

So anybody who shouted, hey, any WordPress references, our name used to pop up on social media. So we got that. And they sent us a very large procurement checklist, which we never heard of. All of our projects were like email exchange, two, three emails, money via PayPal, and emails used to be contact. Like, whatever you committed on email is the contract.

\n\n\n\n

And suddenly there comes like this long PDF, Excel sheets with check boxes. Do you have a data storage policy? This policy, that policy. If we end up filling this, we’re not going make any profit with this project. So then one of my teammates said, let’s price in that. Let’s price in and see if they can afford it. So we literally added another zero to our pricing, literally like 5 times, 10 times. And we said like, hey, this is our minimum, do you want to go ahead?

\n\n\n\n

I said, sure, like this is peanuts. And they were worried like, do you understand the project? You are quoting very less, your starting point is very less than our internal budget. So they came to our office, they were based in India. Luckily they were in the same city. They came to our office to audit us physically. They put like remarks like, you don’t have a fingerprint scanner in your biometric sensors in your office entry. There is no employee log.

\n\n\n\n

But we are not storing any of your data. So this office is not the building where your data will reside. Your data will reside on AWS, or all those cloud servers. And then they got convinced. WordPress was very small then, and we were the only known agencies, which was fully committed to WordPress at that point. So they didn’t have choice two, three, so they kind of crossed the fingers and gave us that project.

\n\n\n\n

It took six months to close. I was very pessimistic. It’s only after two, three years that we realised that they’d become our largest client by a huge margin. All my blogger friend put one side, and this single client, one side. And that revenue was growing very nicely, year on year. Renewals, they had this retainers, every year they were renewing without asking questions.

\n\n\n\n

So I realise that it’s very hard to win these big clients, but once you are in it becomes very smooth journey, henceforth, like after that point. And then I think 2014 around, after two, three years data, when I saw that this client was consistently, for the last three years in a row, our biggest client. Zero sales effort, zero account issues, no negotiation on pricing, and everything was smooth.

\n\n\n\n

So then I thought like we should go in to some enterprise space, and luckily around that time I had a call with Chris Lema. Chris Lema used to be available for consulting calls on Clarity. I’m not sure if that service is still around. And I still remember it was exactly 33 minutes that I talked to Chris. He repositioned rtCamp. In 33 minutes he gave me some amazing breakthrough idea.

\n\n\n\n

And after that call, first time we told ourselves, we are enterprise WordPress agency from today. Until 2014 we were not identifying ourself or branding ourself as an enterprise workplace agency. That moment was the first time when we put in bold letters on our homepage, in SEO Meta, everywhere we added, we are enterprise, enterprise, enterprise WordPress.

\n\n\n\n

[00:18:35] Nathan Wrigley: Can you remember that moment? So if you cast your mind back, when you added the zero and sent it, and there was obviously some suspicion in your mind that nothing’s going to come of this or what have you. Can you remember the feeling? So it’s an odd question because I’m asking you about your feelings, but can you remember the feeling when they came back and said, oh yeah, this is not as expensive as we’d imagined? That really must have opened up an entirely new world for you.

\n\n\n\n

[00:19:00] Rahul Bansal: Yeah. So firstly, it was very unexpected because we were selling like WordPress projects for $100, $50, $500. The biggest was $1,000. We still remember we built a complete BuddyPress plugin for $900. And we were like so happy when that client sent us $100 tip. He rounded up to $1,000 and we were partying, like with that extra $100, we throw a party to our team.

\n\n\n\n

And suddenly this client comes and they said, $5,000 is okay? Are you kidding me? Because they sent so much data I didn’t want to fill in, so I just thought, let’s just give them a number and they will walk away. We’ll not appear as a company who didn’t want to fulfill their data request. I thought, I will give them a reason to walk away, but then it didn’t walk out.

\n\n\n\n

Initially I was still skeptical because they really demand too much data. Just imagine, we were like some 20 people agency at that time, and we spent three to six months in back and forth sales call. We didn’t have typical sales team at that point. Writing those long answers. We were not even understanding questions. The problem was not that we didn’t want to give data or we didn’t take security seriously, there were things that we never heard of.

\n\n\n\n

It was all like foreign language to us. What are they asking? Why do they want to do that? I was not expecting lifetime revenue, that concept was not in our books then. So it was project, money in, money out, end of email, site goes live. Then the recurring revenues hosting companies. We were not into selling maintenance contract.

\n\n\n\n

So it was a project kind of thinking like big, big economy mindset. So even with 5,000, I thought like, the amount of effort they’re putting us, we won’t be left with any decent margin after this project. And that was a true case. For first year there was not much margin left because they had put us through a lot of work to fulfill that project. And then we realised we underquoted after that also, because when the data, we had to talk to their Microsoft vendor. They were using Microsoft SharePoint. There were many rough edges that we had no idea could happen to us.

\n\n\n\n

In year one, they were the highest revenue, but project was in loss. It’s only a year, two, three, it was very good profit. And then we have the strategy that we call now land and expand. Land big accounts, no matter whatever price point you wanted to do, go aggressive, and then once you are in, then you spread within the organisation.

\n\n\n\n

[00:21:08] Nathan Wrigley: Oh that’s an interesting insight. So land and expand. Land the client, the big fish, if you like, with the knowledge that if you maintain the relationship over many years, the profit can build up. Not necessarily year one, but maybe a bit in year two, and year three, and year four, it’s beginning to mature.

\n\n\n\n

And, it sounds like such an interesting story. And, again, I’m going to rewind back to before 2014, so before you added enterprise to your website and have you. Do you think if you had begun your journey today, that you would have the same capability to expand in the same way? Because it feels like there are now quite a few players. Perhaps when you began that was less of the case. You were competing in a much less crowded marketplace.

\n\n\n\n

But it feels like everybody’s intent now is to become an agency which can call itself enterprise. And I’m imagining that you got your foot in the door at a really nice time where you became a name that everybody could trust, and the recommendations come in because of prior work, but maybe that would be more difficult now.

\n\n\n\n

[00:22:08] Rahul Bansal: The market is much bigger now. In fact, just imagine WordPress market share. When we were building the first initial websites, there was not even custom post types that were present in WordPress. So all the WordPress plugins, we used to do a lot of hacks. There was not standardisation. So a lot of things happened with WordPress as a platform. WordPress evolved. The market share has become so big. It’s easier to sell. We have so many examples like from White House to large publishers. And globally, it’s not like just the American companies are using WordPress. India’s second largest publisher also uses WordPress. So does Al Jazeera in Qatar.

\n\n\n\n

So there are many big websites all over the world so it makes WordPress easy to sell. The market is big. There is a precedence where you can pitch somebody, this is WordPress used by so and so. I believe that no matter which lead you are dealing with, so if you have a lead from a certain industry, a certain geography, you will find a WordPress success story in their geography. You will find WordPress being used by your prospect’s competition. That makes it easier to sell WordPress.

\n\n\n\n

So, yeah, the competition is more because opportunity is bigger. The pie is a lot bigger. Otherwise we would’ve stuck to the same size. Every year we are adding more people because we are able to get more work for them, even with these new agencies coming up. In fact, it’s easier to build WordPress agency, or any kind of enterprise grade agency now, because the recipe is quite clear. Because we can look at how other agencies are doing and you can take some lessons from them.

\n\n\n\n

At that time we had no idea. Like, in fact, we didn’t have the idea that we should position ourselves enterprise grade agency, that was the call with Chris. Before that call, we had no idea that we should be labeling ourselves as an enterprise grade agency.

\n\n\n\n

[00:23:42] Nathan Wrigley: If clients approach you, and it sounds like this may not be the case. It feels like people are approaching you because you build WordPress, not inquiring whether or not you would do a WordPress project for them. What are the one or two bits that you always bring out when a client says, well, why would we go with WordPress? What are the one or two top line items which you think, okay, if we’re going to build you a website, we’re going to choose WordPress, and here’s the best reasons at enterprise? So we’re not talking about a mom and pop store, that it really doesn’t matter if it goes down a bit. What are the one or two things which you bring out when an enterprise client wants to know why WordPress?

\n\n\n\n

[00:24:18] Rahul Bansal: First we want to reassure them that WordPress is the right platform. So this is a difference between a product company and agency. A product has a landing page, which is more similar, it gets us to a lot of people. But an agency pitch is tailored for every client, every prospect. So our first goal is to find competition. So which are the competitors for this particular client, prospective client, and see if they’re using WordPress. If your competition is using WordPress, you will feel a lot more comfortable going after it, because nobody wants to be first, especially in large enterprises.

\n\n\n\n

Another way we define enterprise is that, when you are not buying from out of your pocket. In a large organisation, your job is not to save the money or find cheapest solution, your job is to deliver result so that it can go very nicely in your annual review report. I still believe people, especially in enterprise, are looking for safety as a first because they know that they have budget to build anything under the sun.

\n\n\n\n

So usually we say less like, WordPress can do this, WordPress can do that. Because for everything that WordPress or any platform doesn’t do out of the box, they have budget. What they need to know is that it’s secure, it’s safe, it’ll scale well. And if some government approaches us, so we show that public sovereign fund, that they’re managing. So that client has a special permission with us, like we cannot refer them publicly, that government agency, but we can refer them to other government agencies in private conversations. So that is how we convince like, okay, this is similar people to you who are using WordPress.

\n\n\n\n

And I think safety is still the first thing that people are looking for because, it’s not even WordPress, it starts with open source. There is something, somebody did some marketing where people believe or have this misconception that open source will be easy to hack, because you can see the code, you can easily hack. That is our first step. If client mentions it explicitly, we go all in. Even if the client doesn’t mention it, if the prospect says that we are looking for rating interest, we still will verify. Are you sure that you are sorted on WordPress being safe? Any concerns, any doubts?

\n\n\n\n

And then features, because WordPress has no match. And I’m not saying this as a WordPress agency. The Gutenberg editor itself alone is miles apart. If you go to any other platform, the editing capabilities are nowhere close to Gutenberg editor. Gutenberg editor demo itself is a deal breaker in many cases. We just show them Gutenberg editor, and they’re like, wow, is this possible? Is this thing real? Is this some mockup? No, this is website. After the call, we are going to send you a URL, go and try your hands on. This is no fake, that vaporware demo where you see something on my screen, but in reality it doesn’t work like that. This is the real website. Go and try it.

\n\n\n\n

[00:26:53] Nathan Wrigley: That’s really interesting because in the non-enterprise, that message hasn’t necessarily landed. Gutenberg is, it’s very divisive issue, isn’t it? Whether you use it or not. And it’s curious that you are saying that it’s one of the key things which leads to the success.

\n\n\n\n

Can you just dig into that a little bit? What are some of the aspects of Gutenberg which make the clients think, okay, this is great, this is perfect, this is just what we need? What are some of the features that you draw out of the block editor?

\n\n\n\n

[00:27:19] Rahul Bansal: So I think the main difference that we feel like compared to the consumer WordPress, I would say. The consumer WordPress access technologies on very different platform, like proprietary. Just imagine somebody is using Instagram to create reels. With that mindset they come to WordPress Media Library and expect video editing experience like that to happen in WordPress, they will be disappointed.

\n\n\n\n

But here we’re talking to people in large companies, very large companies, using legacy systems, probably from the nineties. They might have a desktop application to update a webpage, some ugly looking forms. We even have a memory where a client, their publishing workflow they had to write an article using a very poorly designed HTML web form, and they had to upload images via FTP. And then they had to reference images in document. There was no drag and drop interface.

\n\n\n\n

So now if somebody like this person comes to Gutenberg, it’s like an iPhone moment for them. With that being said, Gutenberg itself is a very powerful editor. We haven’t come across a case where somebody said, oh, this is not flexible. As I said, like enterprise have a very good balance around the feature versus maintenance. For example, so Gutenberg may have one or two features less compared to a third party page builder, but then being part of Core, they’re assured that five years down the line, it will be very well maintained.

\n\n\n\n

Security is more important to them because one less plugin means one less attack vector. Less things to break, less things to train, less things to maintain going forward. We as an agency develop so many sites on Gutenberg that we have our own libraries and our own patterns. So it’s like, whenever a requirement comes, we can easily map it to Gutenberg.

\n\n\n\n

[00:28:51] Nathan Wrigley: I think that’s the difficult thing to imagine if you’ve never built your own block or you’ve never delved into patterns. But certainly at the enterprise level, if a client comes to you and said, we have this repeatable thing, and we need to put this repeatable thing on page every time. And honestly it’s real chore. And you can build a block, and they drop the block in, and now they just fill out some fields, drag an image in here, and suddenly, boom, it’s exactly on the front end what were expecting.

\n\n\n\n

It’s that kind of thing, isn’t it? It’s that, almost like an app inside of an editor. So we’ve got a block which consumes perfectly the content that you want, and we can adapt it if your needs change. But if you’ve never really gotten into that, it’s hard to imagine. It’s just a bunch of paragraphs and images, but it’s not, it’s so much more powerful than that.

\n\n\n\n

[00:29:34] Rahul Bansal: One thing I would say that, if you look at any large corporation, they have something called design systems, where they have their brand guidelines across products, not just websites like, across mediums like print and everywhere. With Gutenberg, it is very intuitive and easy to map the design system into WordPress. So that is where Gutenberg shines, that you can create patterns, you can create theme json. You can give them a starting point which blends very well with their existing design system.

\n\n\n\n

That is where half of the job gets done. Like, compared to indie hackers or small businesses, large enterprises are not running after lots of plugins. They don’t want to try a hundred plus blocks plugin, a plugin with 200 blocks. They want to restrict number of choices. They want to have less number of blocks, but properly weighted with the user’s guidelines. So it’s like, the freedom they demand is easily given by Gutenberg, and with the assurance of, it is going to be around long term. It’ll be very well maintained. It’ll be very well supported, and performance. I still feel Gutenberg has much better performance, the markup, SEO qualities, top notch.

\n\n\n\n

[00:30:35] Nathan Wrigley: I think it’s just the constraints that you can put around that editing experience. So if the client comes and they want this inexperienced user to be able to create content but have boundaries so they can, I don’t know, they can add an image here and it will be, it doesn’t matter, they just put it in and it will output perfectly. And here’s where the text goes, but they can’t change the fonts, you’re not allowed to change the color and what have you. All of those kind of constraints around the editing experience. It’s just miraculous really what’s possible.

\n\n\n\n

And I think it gets lost because the majority of people, I’m imagining using WordPress are sort of tinkering with Core blocks and it can become confusing. There’s lots of choices. You try one thing and it doesn’t work out, and you throw your hands in the air. But if you’ve built the perfect thing, then all of those guardrails are in place and it will output the perfect thing every time. I think that’s really interesting.

\n\n\n\n

How do you grow, and how do you find your next employees? Because I’m guessing at the level that you are now at, you must have some fairly exacting specifications when you put out a job description. And WordPress is becoming an increasingly JavaScript based thing. Lot more technical difficulties. Where do you find your talent, and is it becoming harder to find?

\n\n\n\n

[00:31:40] Rahul Bansal: This would be unique to literally us. We have what we call our own training center where we, every year we take some 50 students from college, who recently graduated. Every six months we take 25 to 30 students from colleges. We put them through six months of training, like a complete, they get paid to learn WordPress for six month. They have no obligation to continue with us. They can join our competition, they can do anything with the WordPress.

\n\n\n\n

But we really get this talent and this job is very popular in India. So this training we run, the pay scales are very popular in India. So last year also we had some 90,000 applications for 60 positions. We literally have to build a platform. So we have a campus adding platform, its name is Chitragupta. Chitragupta is basically is responsible for managing the ledger of your good and bad work. So in Hindu mythology. So we built  Chitragupta, which basically scans your GitHub repos and assigns your grade.

\n\n\n\n

And those 9,000 people gets graded. And then we interview from top to bottom until 60 positions gets filled. So last time we had to interview some 1,200 students, by the time 60 students got selected.

\n\n\n\n

Then we put them to the six month training. Our course is public, so people know what is going to be in the course, and so we find a lot of passionate people. Many times by the time they join our course, I’ve already gone through it from the public website that we have learn.rtcamp.com. From there, they already have checked it. And then we put them through the six month training. After that, this thing we started this year only. After six month training, we put them six months into the WordPress.

\n\n\n\n

So WordPress Core has a mentorship program running on for new contributors. So this year we enrolled 10 people, managed by Automattic and Google employees, senior employees. So they are mentoring this people for further. So first year we, we invest them heavily. Zero revenue, only investment in year one.

\n\n\n\n

And then from year two, we start getting, like some client work done from them. And this is something turned out to be very great for us from last three years. At some point we felt, there are same number of people switching between agencies, and net new addition to the WordPress worker pool was getting stagnant, especially around Covid.

\n\n\n\n

I felt the way people used to discover life with WordPress, or a professional life with WordPress was mostly through WordCamps or meetup groups, and when that Covid happened, we suddenly missed those years, when new people didn’t come to the WordPress, as many as they used to come before.

\n\n\n\n

So there was this gap that started hurting large agencies, like us. Because if we look at a small website, then the enterprise budget appears a lot, but there’s always a limit. No company approves unlimited budget for any venture. Like for every project there’s a budget. It’s usually large enough, but there’s always a number and, as talent was getting more expensive, WordPress was getting unaffordable at some point.

\n\n\n\n

So I talked to some medium publishers, medium sized publishers, not the big ones, who complain a lot. Like the good WordPress agencies are either sold out or too expensive. It’s like WordPress is suddenly getting unaffordable, and that is when we started in this hiding experiment, where we onboarded people every year. And this is, we are doing from last four years.

\n\n\n\n

So we have been hiring for many years, but early it was 5, 10 people. This massive scale of hiring we started from last three to four years. And, it turned very well for us. Like all these people in second year clocked, like in agency billable hours is a very big metric, and in second year, these people clock 90%, more than 90% billable hours.

\n\n\n\n

[00:35:08] Nathan Wrigley: That’s incredible. What a great idea. Can I just ask, just to clarify with that, is that an in-person thing? So you come to a place where 60 people gather, and the tuition is taking place in the same room, or is it an online thing or?

\n\n\n\n

[00:35:23] Rahul Bansal: So before Covid it was, it used to be in the same room, but the scale was 20 people at that time only. After Covid, we made it completely remote. It’s now completely remote. It’s still in the same time zone because, these are the Zoom calls, recordings. The time zone synchronization is needed. So that’s why it’s currently India only. But we are expanding it to other territories, and we are seeing like if we can create similar talent pool in other part of the world. Because,early it was in n office, then it went remote over Zoom. And this year, it is going async. We have a dedicated department, which is called Learning and Development Department.

\n\n\n\n

So our agency head has implemented most lessons in a synced way, so that people can wake up at different time. And so it’s like they won’t get blocked. They can learn asynchronously, they can complete this six month course asynchronously.

\n\n\n\n

[00:36:11] Nathan Wrigley: It just sounds like the appetite is incredible. The numbers that you just mentioned there, I think you said something like 1200 or something like that, people for 90 places. That’s just remarkable. So the appetite really is there. It seems like such a commendable project as well, in that you are putting out a limited, you know what, you can manage. 60 people out into the workplace. Some of them may end up working with you. Some may end up working with your competitors. But you’ve put 60 people out there who are really credible at pushing the boundaries of what WordPress can do, and hopefully just making a start on their career.

\n\n\n\n

[00:36:44] Rahul Bansal: Yeah.

\n\n\n\n

[00:36:45] Nathan Wrigley: But I know that it’s not just limited to that. And, I would like to get into this just before we finish, because I think this is important. Over the last few years we see these metrics every year of companies who put time into the WordPress project in general, in a whole manner of different ways. They may be sponsoring events. They may be committing staff to Five for the Future and what have you.

\n\n\n\n

And the company, your company, rtCamp, it always seems to be right at the forefront of that in a growing way. I’d just like to applaud you for that and give you an opportunity to say what it is that you do so that we’ve got an impression of just how much good you are doing apart from obviously, having a very profitable agency and what have you, how much good you’re putting back into the community as well. So just outline your commitments to the WordPress project.

\n\n\n\n

[00:37:29] Rahul Bansal: So, as I mentioned that, so we have multiple ways of contributing. So as we hire a lot of from college, unfortunately we cannot have a lot of Core committers with us, but we take care of the other end. For example, these 10 people, we have a commitmentt now internally that every six months, so we will put 10 people full-time, like full-time as in literally full-time. A hundred percent of their time will go in working on WordPress project for six months.

\n\n\n\n

And then this will be rotated by next batch. So in rotation there will be at least 10 people. As we grow further, then we’ll make it 15, 20. And we want to keep this ramping up this number. So there will be always, WordPress Core will have enough junior people to pick the task. So, that good first issues will, somebody will be looking at them.

\n\n\n\n

Then we have a QA people, work into the QA team, other teams. I myself as WordCamp organizer, for WordCamp Asia. We have other people contributing to different part of WordPress.

\n\n\n\n

We have a training course, which is public domain, in public domain. We started that much before learn.wordpress.org is there. Now  learn.wordpress.org is there, it is much better resource. But then this course was there for many years, and many other agencies use it. So that is one of the way to build human capital. So this word actually drives me a lot. We want to consciously put our efforts in developing human capital of WordPress.

\n\n\n\n

Because in the end, it’s people that do the job, no matter how fancy it is. You need a human to put a prompt to the AI. ChatGPT won’t build things on its own. You need to, you need a human to ask creative questions. And we want to ensure that WordPress economy continues to grow, and it never falls short of people. So we hire a lot of junior people. We put into the workplace. We publish our videos tutorial. We publish our training material also in the public domain.

\n\n\n\n

Many companies use it, and we expect no link back, also, no credit. Because sometimes they have a apprehension that if they know, this is why rtCamp course will, for, example, our training course site doesn’t require registration. So if you’re sending your employees to learn WordPress on our site, we won’t track them. We won’t solicit them. We have no way of knowing who’s learning. Google Analytics just shows traffic. A lot of traffic is coming to those training sites, but we have no personally identify information tracked there.

\n\n\n\n

[00:39:45] Nathan Wrigley: I would imagine that in every aspect of your business, except this, maybe, there’s gotta be some measurable ROI. Okay, we put this in, we get this out. Do you have any metrics to measure your commitment to the community, or is it just putting your finger in the air and thinking, okay, last year, our business did this, let’s put, I don’t know, whatever it might be. Do you have a pro forma that you stick to? A number of hours, a number of people? Or is it just, yeah, this feels right this year. Because you can’t measure this. And in some cases, I imagine people would think, yeah, they’re probably overdoing it a little bit over there and what have you.

\n\n\n\n

[00:40:21] Rahul Bansal: So, we have a top line mandate that, so it’s like, internally we divide engineers in three categories in rtCamp. The junior ones were like less than two years in rtCamp. The senior ones like two to five years. And lead levels were like more than five years with us. The junior one, we target 20% of their time for WordPress Core. And the medium level, the seniors, 10%, and lead level is 5%. Lead level is very hard, because we have very less lead engineers. The demand supply gap is more evident on senior and lead level. But then, these metrics are, so our office structure is that we have some called business needs.

\n\n\n\n

So every people need to submit their 20% report. Not only they need to submit the hours report, like they have their hours went into the WordPress Core or different part. They have to compile what are the issues they solved. It’s not like you’re just making time entries. You have to tell in the leadership quarterly review that I have 50 people in my business units, and together they clock 3000 hours. And this is what we achieved in 3000 hours. And this is approved. The props messages we see in WordPress Slack, those screenshots, if our employee names is mentioned, are taken screenshots and filing into those review reports.

\n\n\n\n

Three people got props from my team. The WordPress Core release notes, like with major releases. So those contributor list also presented by them. If somebody’s doing some make WordPress blog post or activity, those are also tracked by them. So the heads compile this report, from like bottom ups and then present in leadership meeting. So this is not accidental.

\n\n\n\n

The material ROI is very hard to measure. We cannot say that, oh, we made like X dollars because of this effort. I think, as a salesperson, when I tell a client like, hey, I’m going to give you an engineer who knows WordPress very well. I’m more confident if that person has contributed six months to the WordPress Core. And their patches is weighted by some amazing people in WordPress community, especially senior ones. It’s like a win-win situation for all. This gives me a very, very well trained people to sell.

\n\n\n\n

[00:42:16] Nathan Wrigley: That’s exactly how I was just thinking about it. This kind of win-win cycle of you put people into WordPress, and obviously at a junior level, more time and I can understand that. That makes sense. Presumably the ones who are more experienced, they’ve got other work to be doing. But also they’ve probably gained a ton of experience doing those prior years of extra hours.

\n\n\n\n

So you put the hours in, but also they contribute to Core, but they get experience back out. They’ll be exposed to all sorts of different things that your projects would never have put them in front of, presumably. So they’ll be touching on subject matters. Getting into plugins, themes, blocks, code, Core, whatever it may be in a whole range of different ways than they would be. So like you say, it’s like you slap my back, I’ll slap yours a little bit. Win-win. WordPress wins, you win.

\n\n\n\n

[00:43:06] Rahul Bansal: There are three wins here. The person, that student, who came right out of the college, and usually in college, people here, people have some negative perception about professional life. That companies are evil. You are going to do labor. Somebody will steal your credit, and here they’re on their own. Like they go into the WordPress community on their own. They sign a patch with their name. They file a Trac ticket with their name. They get props in their name. They get treated very well by contributor. If somebody makes mistakes, WordPress committee is full of nice people. Nobody’s going to pull them down. Nobody’s going to shout at them.

\n\n\n\n

Everybody corrects them with respect and compassion, and that helped them grow as a person. Like, they become better human. They become better coder. And that empathy, we see that, when they become senior engineers, and when they’re reviewing some junior’s code, they remember that, hey, when I was, it was my first day in WordPress community, and I made that patch. I made one mistake, but somebody was nice to me, so I have to pass it on. So that niceness cycle continues.

\n\n\n\n

And, the biggest win is that these people like, who has an incredible job satisfaction. They love open source more. Many of them don’t join for the love of open source, they’re at a point when they, join rtCamp, they’re at a point when their college is ending. They just want to get a job, and secure a financial life. Whatever jobs comes their way, they’re okay with it. Open source, closed source, not much preference. But once they’re in, and then we take them through this one year of tour, like six months in training center, then six months in WordPress community, they become the advocate of open source for life.

\n\n\n\n

And that is a very most important win for us because we want people to believe in open source. We don’t want them to say open source is good because their company is selling it. We want them to have that faith that open source is the right way to do things. And that faith is very important for growth. You cannot mug up your mission statement and stand for it.. You have to believe in something to stand for it.

\n\n\n\n

[00:45:00] Nathan Wrigley: What a profoundly interesting thing to have said. I think that’s just fabulous. I think your company is doing so many interesting things. It’s obviously, financially it’s working out, but just the position that you’ve painted there of the way that you are treating your employees, and the autonomy that you’re giving them, and the future opportunities that you are giving them. And the training opportunities giving them, just remarkable. And I’m profoundly impressed by what you’ve been doing.

\n\n\n\n

Unfortunately, time is our enemy. We’re going to call it a day there. Rahul, thank you so much for chatting to me today. That has been an incredible journey. Long may it continue. I wish you and rtCamp all the success that you can possibly have the future.

\n\n\n\n

[00:45:39] Rahul Bansal: Thank you, Nathan. Thanks for having me on this podcast.

\n
\n\n\n\n

On the podcast today we have Rahul Bansal.

\n\n\n\n

Rahul is the founder and CEO of rtCamp, a large agency that specialises in enterprise-grade WordPress projects. He began his journey quite differently, starting as an individual blogger back in 2006, discovering WordPress in 2007, and gradually transitioning from being a publisher to a freelance developer, before founding rtCamp in 2009. Today, rtCamp is an enterprise-grade WordPress consultancy agency, operating globally and trusted by clients such as Google, Meta, Automattic, NewsUK, and Al Jazeera.

\n\n\n\n

Rahul sheds light on working with enterprise clients in the WordPress space. Many of us are familiar with WordPress in the context of small businesses and blogging, but the enterprise space demands additional layers of security and scalability. Rahul explains the factors that set enterprise projects apart, and why meticulous code reviews,   and security audits are essential when working at this level.

\n\n\n\n

He talks about the opportunities in the enterprise space, recounting how rtCamp initially stumbled into enterprise level projects, not even realising their potential until a client’s high expectations led to a decision to market themselves as an enterprise agency.

\n\n\n\n

We also discuss the role of WordPress in enterprise environments, from why Gutenberg has become a credible selling point, due to its powerful editing capabilities, to how the platform’s flexibility supports varied enterprise needs.

\n\n\n\n

Rahul also gets into the importance of positioning, how historical context offers advantages, and the expanding market that makes WordPress a compelling choice for large clients today.

\n\n\n\n

Towards the end, we explore rtCamp’s innovative internship program aimed at growing the WordPress talent pool, and the way they are contributing back to the WordPress project; a win-win for the business and the broader community.

\n\n\n\n

If you’ve ever considered what it takes to work with WordPress at the enterprise level, this episode is for you.

\n\n\n\n

Useful links

\n\n\n\n

rtCamp

\n\n\n\n

White House website

\n\n\n\n

Al Jazeera website

\n\n\n\n

Campus at rtCamp

\n\n\n\n

rtLearn

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 12 Mar 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"Do The Woo Community: Effective Collaboration with Clients and Teams: A Chat with Zach Hendershot\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92561\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"https://dothewoo.io/effective-collaboration-with-clients-and-teams-a-chat-with-zach-hendershot/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:237:\"In this episode, Adam and Emma discuss effective collaboration with Zach, CEO of Miruni, focusing on setting clear expectations, minimizing manual tasks via automation, and enhancing communication for better client and team interactions.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 12 Mar 2025 09:49:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"Gravatar: Top Strategies for Reducing Friction in Sign-Ups\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=2830\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"https://blog.gravatar.com/2025/03/11/sign-up-flow/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:17831:\"

Creating effective sign-up flows presents a challenging balance. Users expect quick, frictionless experiences, but businesses need quality data to better serve their customers. To get this information, they often overload the sign-up process, leading to high abandonment rates and lost opportunities.

\n\n\n\n

Thankfully, there is a way to find balance – and we’re talking about more than just user-friendly designs. Advanced strategies like intelligent data collection timing and progressive disclosure techniques help maintain healthy conversion rates while gathering essential user information. These approaches, combined with AI-driven personalization, can transform a standard sign-up process into an engaging experience.

\n\n\n\n

Reducing friction while maintaining control over data collection might seem daunting. However, by implementing strategic optimization techniques and tools like Gravatar’s developer API, you can significantly reduce friction points in their sign-up process. 

\n\n\n\n

So, let’s see how you can do just that while still collecting valuable user data that allows for personalization and improves the overall user experience.

\n\n\n\n

Essential strategies for reducing sign-up friction

\n\n\n\n

When talking about sign-up friction, a common topic is form optimization, but that’s only the beginning. You need a bit more if you want to create better sign-up experiences and reduce drop-off rates while still maintaining high data quality.

\n\n\n\n

First, progressive profiling allows you to collect user information gradually rather than overwhelming new users with lengthy forms like these: 

\n\n\n\n\"\n\n\n\n

Instead of requesting all details upfront, ask only for essential information during sign-up, and additional data can be gathered as users engage with your product.

\n\n\n\n\"Example\n\n\n\n

You can also use email-based profile systems like Gravatar to make the process even easier. By integrating Gravatar into your sign-up flow, you can automatically populate user avatars and profile information using just an email address. This eliminates several manual entry steps.

\n\n\n\n\"\"\n\n\n\n

Delayed email verification keeps users engaged by letting them access your app immediately after sign-up. ChargeBee is a great example of this approach: 

\n\n\n\n
    \n
  1. New users enter the platform right away by filling in the more important details. 
  2. \n
\n\n\n\n\"Chargebee\n\n\n\n
    \n
  1. They verify their email address only after signing in.
  2. \n
\n\n\n\n\"Chargebee\n\n\n\n

Finally, smart forms with predictive error prevention catch potential issues before submission rather than returning users to a form with error messages. This real-time validation helps users complete sign-up forms correctly the first time.

\n\n\n\n\"Example\n\n\n\n

Intelligent data collection: When and what to ask 

\n\n\n\n

Making smart decisions about when to request user information can significantly impact sign-up completion rates. A strategic approach starts with distinguishing between essential and non-essential data.

\n\n\n\n

Essential information typically includes:

\n\n\n\n
    \n
  • Email address (for account creation).
  • \n\n\n\n
  • Password.
  • \n\n\n\n
  • Username (if required).
  • \n
\n\n\n\n

Non-essential information such as company name, last name, job title, team size, and phone number can definitely wait. 

\n\n\n\n

Custom triggers help time additional data requests effectively. For example, only ask for team size after users show interest in collaboration features. Or request company details when someone visits the enterprise pricing page.

\n\n\n\n\"Example\n\n\n\n

Profile enrichment through integrations and APIs offers another powerful approach. By combining email-based profile services like Gravatar with progressive data collection, you can build comprehensive user profiles without overwhelming new users.

\n\n\n\n

Gravatar’s API can automatically populate non-essential information from a user’s email address, eliminating the need to ask for basic profile details during sign-up. This approach maintains high conversion rates while still gathering valuable user data.

\n\n\n\n

How Gravatar simplifies user onboarding

\n\n\n\n\"Gravatar\n\n\n\n

Gravatar transforms the traditional sign-up process by automatically populating user profiles through a single email address. This approach eliminates multiple manual entry steps that often cause users to abandon sign-up forms – according to a 2020 study by Wyzow, 80% of users have deleted an app because they found the initial setup process too complex.

\n\n\n\n

This is why major platforms like GitHub, OpenAI, and Atlassian use Gravatar to enhance their sign-up experiences. 

\n\n\n\n

By implementing Gravatar’s REST API, developers can instantly access a rich set of user information:

\n\n\n\n
    \n
  • Display names and avatars.
  • \n\n\n\n
  • Professional information.
  • \n\n\n\n
  • Biography and location.
  • \n\n\n\n
  • Language preferences.
  • \n\n\n\n
  • Pronouns.
  • \n\n\n\n
  • Social and professional links.
  • \n\n\n\n
  • User interests.
  • \n\n\n\n
  • Work history.
  • \n\n\n\n
  • Social connections.
  • \n
\n\n\n\n

This enriched data collection happens without requesting additional information from users during sign-up. Instead of presenting new users with lengthy forms asking for profile details, applications can pull this information automatically through the Gravatar API.

\n\n\n\n

The benefits extend beyond the initial sign-up. With comprehensive profile data available immediately, applications can create personalized experiences from the first interaction:

\n\n\n\n
    \n
  • Customized welcome messages using the user’s name.
  • \n\n\n\n
  • Interface language set to user preferences.
  • \n\n\n\n
  • Content recommendations based on stated interests.
  • \n\n\n\n
  • Contextual features based on professional background.
  • \n\n\n\n
  • Team collaboration suggestions using work history.
  • \n\n\n\n
  • Social connections through matched interests.
  • \n\n\n\n
  • Location-based content and recommendations.
  • \n
\n\n\n\n

Implementing Gravatar also helps solve common onboarding challenges:

\n\n\n\n
    \n
  • Reduces form abandonment by minimizing required fields.
  • \n\n\n\n
  • Eliminates the need for users to upload profile pictures.
  • \n\n\n\n
  • Maintains consistency across multiple platforms.
  • \n\n\n\n
  • Allows users to update their information in one place.
  • \n\n\n\n
  • Supports both individual and role-based personalization.
  • \n\n\n\n
  • Enables automatic profile updates across integrated services.
  • \n
\n\n\n\n

The system respects user privacy by letting individuals control what information they share. Users can maintain multiple profiles with different levels of detail tied to separate email addresses, giving them full control over their online presence while still providing valuable data for personalization.

\n\n\n\n\"Example\n\n\n\n

For developers, integration is straightforward through the REST API, with comprehensive documentation and support available. And since Gravatar is free for both users and developers, it offers a cost-effective way to enhance sign-up flows and improve user engagement from the start. The API’s design focuses on developer experience, making it simple to implement and maintain while providing powerful personalization capabilities.

\n\n\n\n

Real-world examples: Successful Gravatar implementations

\n\n\n\n

Let’s see how different websites use Gravatar to make signing up and getting started super simple. 

\n\n\n\n

OpenAI offers a perfect example of a streamlined approach: 

\n\n\n\n
    \n
  1. Users sign up with their email and create a password.
  2. \n
\n\n\n\n\"Creating\n\n\n\n
    \n
  1. Their profile picture automatically appears from Gravatar. 
  2. \n
\n\n\n\n\"Profile\n\n\n\n

No extra steps are needed. This small touch adds a personal element to their AI platform experience right from the start.

\n\n\n\n

WordPress.com takes this integration even further. When someone signs up, the platform automatically pulls in everything from their Gravatar profile – their bio, display name, social links, and even their location and interests. 

\n\n\n\n\"Profile\n\n\n\n

This means new bloggers can jump right into writing instead of spending time filling out profile forms. Plus, any changes they make to their Gravatar profile automatically update across all their WordPress sites.

\n\n\n\n

Other popular platforms also use Gravatar in creative ways to make things easier for their users:

\n\n\n\n

Developer platforms:

\n\n\n\n
    \n
  • GitHub shows Gravatar avatars next to code contributions, helping developers build recognition in open-source communities.
  • \n
\n\n\n\n\"Profile\n\n\n\n
    \n
  • GitLab uses Gravatar to personalize project dashboards and team features.
  • \n
\n\n\n\n

Collaboration tools:

\n\n\n\n
    \n
  • Figma automatically loads team member profiles to help people connect faster.
  • \n\n\n\n
  • Slack shows profile pictures in chat to help teammates recognize each other.
  • \n\n\n\n
  • Trello adds Gravatar photos to cards and boards to make project tracking more personal.
  • \n
\n\n\n\n

The best part? Users only need to update their info in one place – their Gravatar profile. That single update gets reflected everywhere they use these tools, making it super convenient to keep a consistent online presence.

\n\n\n\n

Optimizing mobile sign-up experiences

\n\n\n\n

Making sign-ups work smoothly on mobile devices has become essential, with mobile traffic now exceeding 60% of all web visits. But mobile users face unique challenges – smaller screens, touch interfaces, and often spotty connections. Here’s how to create a mobile-friendly sign-up flow that gets results.

\n\n\n\n

Start with the basics: optimize every element for touch. 

\n\n\n\n
    \n
  • Buttons need to be at least 44×44 pixels, with enough spacing to prevent accidental taps. 
  • \n\n\n\n
  • Make forms finger-friendly by adding ample padding between fields. 
  • \n\n\n\n
  • Stick to readable font sizes – 16px minimum for text inputs to prevent automatic zooming.
  • \n
\n\n\n\n

Smart keyboard handling makes a big difference too. Set the right input types (email, tel, number) so users get appropriate keyboards. Group similar fields together to minimize keyboard switches. For example, keep all text fields together, then numeric fields.

\n\n\n\n

Simplify data entry by:

\n\n\n\n
    \n
  • Enabling autofill where possible.
  • \n
\n\n\n\n\"Example\n\n\n\n
    \n
  • Offer social login options optimized for mobile.
  • \n
\n\n\n\n\"Example\n\n\n\n
    \n
  • Using Gravatar to auto-populate profile info from email addresses.
  • \n\n\n\n
  • Adding real-time validation to catch errors early.
  • \n
\n\n\n\n\"Example\n\n\n\n

Break up longer forms into logical steps with clear progress indicators. Each step should fit comfortably on a mobile screen without scrolling. And remember – every field you require is another chance for users to abandon the process. Only ask for what’s absolutely necessary.

\n\n\n\n

Finally, test your flow on multiple devices and screen sizes. What works on a large iPhone might be frustrating on a smaller Android phone.

\n\n\n\n

Get started with Gravatar’s developer tools

\n\n\n\n

Ready to streamline your sign-up process with Gravatar? Their developer tools make integration surprisingly simple. The new REST API gives you instant access to user profiles with just a few lines of code.

\n\n\n\n

Getting started takes just three steps:

\n\n\n\n
    \n
  • Register for a free API key at Gravatar’s Developer Dashboard.
  • \n\n\n\n
  • Use the interactive console to test API endpoints.
  • \n\n\n\n
  • Follow the comprehensive documentation to add Gravatar to your app.
  • \n
\n\n\n\n

The API lets you fetch rich user data like:

\n\n\n\n
    \n
  • Profile pictures and avatars.
  • \n\n\n\n
  • Display names.
  • \n\n\n\n
  • Professional details.
  • \n\n\n\n
  • Social links.
  • \n\n\n\n
  • Location preferences.
  • \n\n\n\n
  • Custom profile fields.
  • \n
\n\n\n\n

Best of all, users control what information they share. You just need an email address to start pulling available profile data. This balance between functionality and privacy makes Gravatar great for both developers and users.

\n\n\n\n

Want to explore more? Get in touch with our team today, and we can discuss specific integrations for your platform. 

\n\n\n\n\"\"\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Mar 2025 22:19:10 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"WordPress.org blog: WordPress 6.8 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18619\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5846:\"

WordPress 6.8 Beta 2 is now ready for testing!

\n\n\n\n

This beta version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites.  Instead, you should evaluate Beta 2 on a test server and site.

\n\n\n\n

You can test WordPress 6.8 Beta 2 in four ways:

\n\n\n\n
PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream.)
Direct DownloadDownload the Beta 2 version (zip) and install it on a WordPress website.
Command LineUse this WP-CLI command: wp core update --version=6.8-beta2
WordPress PlaygroundUse the 6.8 Beta 2 WordPress Playground instance to test the software directly in your browser.  No setup is required–just click and go! 
\n\n\n\n

The current target date for the final release of WordPress 6.8 is April 15, 2025. Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for more information.

\n\n\n\n

Catch up on what’s new in WordPress 6.8: Read the Beta 1 announcement for details and highlights.

\n\n\n\n

How to test this release

\n\n\n\n

Your help testing the WordPress 6.8 Beta 2 version is key to ensuring everything in the release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important.  This detailed guide will walk you through testing features in WordPress 6.8.

\n\n\n\n

If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report. You can also check your issue against a list of known bugs.

\n\n\n\n

Curious about testing releases in general? Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

\n\n\n\n

Vulnerability bounty doubles during Beta/RC

\n\n\n\n

Between Beta 1, released on March 4, 2025, and the final Release Candidate (RC) scheduled for April 8, 2025, the monetary reward for reporting new, unreleased security vulnerabilities is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

\n\n\n\n

Beta 2 updates and highlights

\n\n\n\n

WordPress 6.8 Beta 2 contains more than 14 Editor updates and fixes since the Beta 1 release, including 21 tickets for WordPress core.

\n\n\n\n

Each beta cycle focuses on bug fixes; more are on the way with your help through testing. You can browse the technical details for all issues addressed since Beta 1 using these links:

\n\n\n\n\n\n\n\n

A Beta 2 haiku

\n\n\n\n

Second wave refines,
Lines of code like rivers flow,
WordPress finds its form.

\n\n\n\n

Props to @ankitkumarshah @vgnavada @krupajnanda @michelleames @audrasjb @marybaum @ecgan for proofreading and review.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Mar 2025 15:46:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"Do The Woo Community: What’s a WordPress Site Without a Blog?\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=92636\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"https://dothewoo.io/blog/whats-a-wordpress-site-without-a-blog/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:179:\"In September 2024, we relaunched our community-focused blog, emphasizing its importance for site substance while highlighting the relevance of blogging amidst evolving technology.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Mar 2025 11:01:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:108:\"Do The Woo Community: Securing the Supply Chain, Insights from the WordPress 6.8 Update with John Blackbourn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=92331\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"https://dothewoo.io/securing-the-supply-chain-insights-from-the-wordpress-6-8-update-with-john-blackbourn/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:250:\"John Blackbourn discusses significant security enhancements in WordPress 6.8, notably switching to Bcrypt for password storage. The conversation highlights evolving perceptions of open-source security and upcoming events like the CloudFest Hackathon.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Mar 2025 10:08:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"Gutenberg Times: Gutenberg Changelog 115 – Gutenberg Releases 20.2, 20.3, 20.4, WordPress 6.8 and WordCamp Asia\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://gutenbergtimes.com/?post_type=podcast&p=37944\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:87:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-115-wordpress-6-8-wordcamp-asia/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:43300:\"

Birgit Pauli-Haack and Jessica Lyschik talked about Gutenberg Releases 20.2, 20.3, 20.4, WordPress 6.8 and WordCamp Asia

\n\n\n\n

Show Notes / Transcript

\n\n\n\n\n\n\n\n

Show Notes

\n\n\n\n

Special guest: Jessica Lyschik

\n\n\n\n\n\n\n\n

Community Contributions

\n\n\n\n\n\n\n\n

What’s released

\n\n\n\n\n\n\n\n

What’s in active development or discussed

\n\n\n\n\n\n\n\n

Stay in Touch

\n\n\n\n
\n\n
\n\n\n\n

Transcript

\n\n\n\n

Birgit Pauli-Haack: Hello and welcome to our 115th episode of the Gutenberg Changelog podcast. In today’s episode, we will talk about Gutenberg releases 20.2, 20.3, and 20 .4, and a little bit of WordPress 6.8 and WordCamp Asia. I’m your host, Birgit Pauli-Haack, curator at the Gutenberg Times and a WordPress developer advocate working for Automattic and still recovering from my cold that I brought back from Manila.

\n\n\n\n

And today, I’m happy to get to chat again, it was Jessica Lyschik, front-end developer at Greyd and also core contributor to the WordPress open source project. We both just returned from WordCamp Asia.

\n\n\n\n

Hello, Jessica. How are you today? How is your jet lag?

\n\n\n\n

Jessica Lyschik: Hey, thanks for having me. I think the jet lag is, by now, done, I would say. So I’m back to the European time zone, but I also caught a bug after returning and had to take off a couple of days to get better. But by now, it’s like another week has passed. I’ve been working normally and yeah, I’m back to normal and preparing for the next event next week, which is CloudFest.

\n\n\n\n

Birgit Pauli-Haack: You’re going to CloudFest. Wonderful.

\n\n\n\n

Jessica Lyschik: Yeah.

\n\n\n\n

Birgit Pauli-Haack: I had to cancel my participation in CloudFest because I have a bum knee. And my doctor said, “Well, going to another congress where you run around like crazy from one thing to the next, it’s probably not conducive to your healing that bum knee.” It sucks at one point, yeah. But on the other hand, “Okay. I don’t have to travel.” It’s another… Yeah, I can concentrate on some of the work again.

\n\n\n\n

Jessica Lyschik: And get enough sleep, which is something you do not get on conferences and stuff like that.

\n\n\n\n

Birgit Pauli-Haack: Right. Especially, CloudFest. I think every evening there is a festival or a party or something.

\n\n\n\n

Jessica Lyschik: You can actually make it work. I do it the same on WordCamps. It’s the same for me. So it’s just when you are deciding where do you want to go, maybe not just be there as the first person and leave as the last person. But come late, leave early, and then just try to make it work for you. And it’s, of course, different for everyone. Some people are just like, they want to be everywhere and they need to go everywhere. And I’m more like, I need some breaks in between because otherwise that’s not going to work.

\n\n\n\n

Birgit Pauli-Haack: Yeah, I’m pretty much the same way. However, sometimes I’m just so present in the moment, in the conversation, that I can really lose track of time. And then these are people I’ve never going to see for the next year or so, or maybe two. So at least, that was at WordCamp Asia. Where you’re only going to go to that particular family reunion and almost feels like that. Once a year and you need to catch up on what happened with other people, and there were so many good things to happen.

\n\n\n\n

WordCamp Asia                                                       

\n\n\n\n

So, what are your takeaways from WordCamp Asia? Do you have anything that will say, “Okay. Yeah, that was very surprising”? Interesting. New.

\n\n\n\n

Jessica Lyschik: It has been my first time to the Philippines, I don’t know about you, but I think it has been a very interesting couple of days there in Manila. I did not get to see so much about Manila itself, unfortunately. The jet lag coming to Manila also hit me very hard. So the day I had planned to do something, go out somewhere did not happen. But I saw the Mall of Asia, which was like a gigantic mall where you could get your daily steps in very easily and not walk around the same circle for 10 times or something like that.

\n\n\n\n

What I found very interesting was the food. I think the food was pretty good there. There was a lot of variety. We had a lot of Filipino food during the conference days, which I found pretty amazing. There’s a lot of seafood and fish in there. I’m not such a fan of seafood, but I tried the other things and they were all pretty good. So, I did not have anything that I didn’t like.

\n\n\n\n

Birgit Pauli-Haack: Yeah. I was really… Not surprised, but it was quite unusual that the vegetarian as well as the vegan options are so particularly tasteful and very… I have a big variety there.

\n\n\n\n

Jessica Lyschik: That’s true.

\n\n\n\n

Birgit Pauli-Haack: And I got to chat with Dan, who is a former chef, who was on the organizing team and responsible for all the food. And he just has such a passion for the Filipino food and knows everybody in Manila to pick the right caterer for the events. It was really interesting, yeah. I also got to talk with a lot of Automatticians, but they all had the same T-shirt on, so all of a sudden, I was recognizing my fellow, my coworkers. And we don’t get to see each other during the year, especially in other teams so much. So, it was really interesting for me.

\n\n\n\n

I like to hang out at the Do The Woo. Bob had… I think he started that last year in WordCamp Europe, that he is actually a sponsor and has a spot in the sponsor hall where people can hang out. And he invites his cohorts to spend an hour there. Or other people that he collaborates with, to just spend an hour there. So they can also say to their friends, “Okay. If you want to talk to me, I’m at that hour, at the Do The Woo booth.”

\n\n\n\n

Jessica Lyschik: Oh, nice.

\n\n\n\n

Birgit Pauli-Haack: But that was an interesting experience, yeah. So, I did that. And I was surprised how many people are actually in my talk because the such a niche topic which was about Playground and how to create demos with blueprints. And being the last session before Matt’s keynote and Q&A, I thought maybe they’re not going to be a whole lot of people in that talk, but I was surprised. There were, at least, 50 or 60 people there. Yeah, it was cool.

\n\n\n\n

Jessica Lyschik: Yeah. Well, that’s nice.

\n\n\n\n

Birgit Pauli-Haack: Yeah.

\n\n\n\n

Jessica Lyschik: I was there too, I have to say.

\n\n\n\n

Birgit Pauli-Haack: Oh, right.

\n\n\n\n

Jessica Lyschik: I was at the very far back. Yeah, but it was quite interesting to go back and see, “Okay, this is…” I already know what blueprints are so it’s not that big of a deal, but going into the details again, it’s like, “Oh yeah, I remember that. Oh, I forgot this. Oh, okay.”

\n\n\n\n

So, it was a very good thing.

\n\n\n\n

Birgit Pauli-Haack: That was good. Yeah, good. So it was something for beginners, for the intermediate, and for the advanced. I was hoping about that. We will have WordCamp Europe.                                                       

\n\n\n\n

Oh, I’m not saying that. It’s not out yet. But yeah, announcements will come.

\n\n\n\n

Jessica Lyschik: Nice. I had a pretty good Speed Build as well with Nick, and that was a lot of fun. Nick tried to tackle the website with AI, or at least the top part with the slider with AI. Unfortunately, people said I won. I think Nick also did a great job. I felt a bit sad. Everyone’s clapping for me and cheering for me more than for Nick. It was like a bit disappointing. It’s like he tried. I would’ve never tried this with AI because I do not have the patience in 30 minutes to create something with AI. So I decided just to go, “Okay, do it in normal stuff. Just build some blocks, build some patterns there and do it.” But it was a lot of fun and it was great to see that afterwards, Nick also tried to not fix it, but further enhance it to make it an actual usable block.

\n\n\n\n

That was pretty cool to see. He showed me the demo the next day. That was very nice.

\n\n\n\n

Birgit Pauli-Haack: And I think he blogged about it.

\n\n\n\n

Jessica Lyschik: Yes, he did.

\n\n\n\n

Birgit Pauli-Haack: So, I’m going to share that link in the show notes when I find it fast. Yes, Speed Build Carousel Block. Because people are always asking for carousel blocks. Why isn’t that in community, I say. I’m going to put it in a community contributions. You’ll find it in show notes.

\n\n\n\n

I think the two of you saying, “Okay, I’ll go back to what I know, what is fast, and what I know how to accomplish.” And then the other approach was that, “Well, let’s, under pressure, do something new.” But it’s also the, how do you approach learning new things? And sometimes you say, “Okay, I’m not going to learn it because I need to get my stuff done, and I know how to do this and I get it done.” When you learn new things, your task becomes more as an inspiration rather than the success because you might not end up accomplishing your task with the new thing. Because of course you are in a learning mode, you need to learn a lot.

\n\n\n\n

So, I compare that with my first experience with the spreadsheet on the computer, MultiPlan was that. So I’m dating myself, but yeah, it was in the early ’90s. MultiPlan was even ahead of Excel from Microsoft. I had a big spreadsheet from the accountant and I said, “Oh, that should be much easier to be done in a spreadsheet on a computer.” So I spent all day, or all night actually, learning how to do this and put the spreadsheet in. But of course, it took me 6 or 8 hours. And if I would’ve done it just with a calculator, I would’ve calculated the whole spreadsheet probably in two hours or something like that. So, it’s not how long it takes to do something the first time when you learn this. It’s how long it takes when you do it a second time, because you need to discard the first time most of the time.

\n\n\n\n

And I found that a lot of people who learn block development, what took me a half an hour with short code took me three days in doing it as a block. I said, “Yeah, that’s the first time you learn of things. Of course, it takes longer. Of course, it takes… You’re all going to changing your brain into the new paradigm. But how long does it take the second time around? Is it faster or is it better?” Anyway, this is the philosophical Birgit in a horsey voice. Let’s go back.

\n\n\n\n

So WordCamp Asia, it was the first time for me in the Manila, and I actually planned a couple of days. Not a couple, a few days. Four days. Did some sightseeing, so I went to the historic sites of the Spanish occupation. I saw the monument for the atrocities that happened in the Second World War, and I learned about the current contemporary arts in two art museums. And I went downtown to the new business district there with a nice park and shops left and right on the street. It’s a pedestrian area. It’s beautifully done. And I also discovered a few street art that were purposefully put on that place as well.

\n\n\n\n

So, that was quite interesting. Of course, I overdid it and I got my bum knee from there. So yeah, it was a little painful than going on the conference and going in the… The venue was quite vast, I found. 

\n\n\n\n

Jessica Lyschik: You had to walk a lot?

\n\n\n\n

Birgit Pauli-Haack: Yeah, you had to walk a lot. But I found all the escalators, so that was good. I didn’t have to do stairs so much. But yeah, it was a walk a lot. I like the Automattic booth was really big, but there was other… Hostinger was really big out of the usual. I also saw Mark Westguard of this WS Forms. He is on every flagship and shows off his plugin. I have to think really hard to get back to that because there’s the whole week, two weeks after that that already took over my life.

\n\n\n\n

Community Contributions                                                       

\n\n\n\n

Which brings us back to, “Okay, let’s record that rest of the show.” So, we had a few releases. So on the developer blog, Robert Meszaros published an article on customizing WordPress embeds to match your theme. And I think that’s very interesting to an approach to make sure that all the embeds that you use are actually matching your theme and you don’t use it out of the box. So he has some nice examples in there, and some great code snippets in how to do all of that. It’s definitely something to go back to, to make a better theme or a better site view for that.

\n\n\n\n

Jessica Lyschik: Yeah, I think it’s a nice finishing touch when you’re creating a new website that really embraces embeds. I didn’t know about this, to be honest. I just saw it today. And I think it’s really great. It’s not something super big, but when you have a brand new website and have put so many thoughts and hours into the design, and then there comes this embed that just looks like it’s not meant to be on this website, then I think this is a great example of how tweaking the sites essentially can make an embed also look like it’s part of the website and not just some part of default WordPress that just pops up somewhere.

\n\n\n\n

Birgit Pauli-Haack: Yeah, that hasn’t gotten a whole lot of love.

\n\n\n\n

Jessica Lyschik: Yeah, that’s true.

\n\n\n\n

Birgit Pauli-Haack: So, he shared this. For instance, one example is that out of the box, the featured image of a post that you embed has some border around, and he just shows you how to make that image go all the way to the corners. That’s such a small little detail, but it shows the attention to detail. And when you have all your cards that you have, your postcards in the query loop all having the same design, and all of a sudden, the embed doesn’t… It really stands out. It doesn’t… And it also distracts the reader from, “Why is this different? What I haven’t seen yet?” It has some nice little features on how to change things. Some great sailing pictures here. So, take a look at that and spruce up your site with some of the little things and big things.

\n\n\n\n

What’s Released – Gutenberg 20.2                                                       

\n\n\n\n

All right. So now, we come to Gutenberg 20.2 that was released in January, to be exact.

\n\n\n\n

Jessica Lyschik: End of January, I think.

\n\n\n\n

Birgit Pauli-Haack: Do you want to start out with what we are talking about?

\n\n\n\n

Jessica Lyschik: Yeah. So, this was one of the two. I think I did the Gutenberg blog post on this one. So yeah, this wasn’t such a big release. It was rather small compared to the previous ones. Also, it was combined with, I think, 21.

\n\n\n\n

Birgit Pauli-Haack: 21, yep. And we talked about that.

\n\n\n\n

Jessica Lyschik: 20.1 release? Yeah. So, there isn’t that much going on in this release. It’s rather smaller bug fixes and some polishing overall. And I think one of the interesting things was that in the post content, you can now define the heading colors on a more global level. I think this was also a highlight from my blog post when I remember correctly.

\n\n\n\n

Birgit Pauli-Haack: Mm-hmm. Yeah, I really like that you can now have the details block be more like an accordion with a name attribute. So it’s not in the UI, but you can do it in the… It’s in the UI, but you have to go to the advanced section to give all.

\n\n\n\n

Jessica Lyschik: Oh, okay.

\n\n\n\n

Birgit Pauli-Haack: Yeah, to give it all. To get this all done. It’s not for someone who doesn’t know what to do, that kind of thing. It’s not intuitive for site builders, so you need to give it a block name so it shows up as a summary. A block name about a name attribute.

\n\n\n\n

Jessica Lyschik: Oh. So, when you give it the name.

\n\n\n\n

Birgit Pauli-Haack: Sorry. Yeah, you need to give it a name attribute in the advanced section so the CSS that is built knows, “Okay. This is all one section. And one is open, the other ones are closed.” So, it kind of has accordion package.

\n\n\n\n

Jessica Lyschik: So they all need to have the same name in this name tag, so then it automatically brings this only one of these sections is open. Okay, got it. Apparently, I missed that one.

\n\n\n\n

Birgit Pauli-Haack: Well, great.

\n\n\n\n

Jessica Lyschik: But it’s okay. Now, we talked about it.

\n\n\n\n

Birgit Pauli-Haack: Right. Yeah, that’s what we’re here for. Two eyes see more than one. Four eyes see more than two.

\n\n\n\n

Jessica Lyschik: Definitely.

\n\n\n\n

Birgit Pauli-Haack: I also wanted to point out that the WP env local development tool now has WP-MyAdmin support as well as Multisite support. It had it before, but now it’s also documented so you know how to use it. That’s why I wanted to point it out because…

\n\n\n\n

Documentation

\n\n\n\n

Jessica Lyschik: Oh, I didn’t know it had this. You had this phpMyAdmin in the WP env.

\n\n\n\n

Birgit Pauli-Haack: Yeah.

\n\n\n\n

Jessica Lyschik: I’m not using PHP. We are so confused. I’m not using WP nth Multi… Multisite or WP env fit-all?

\n\n\n\n

Birgit Pauli-Haack: WP env.

\n\n\n\n

Jessica Lyschik: Ah, okay.

\n\n\n\n

Birgit Pauli-Haack: Yeah. It’s when you’re working on Gutenberg, on your Gutenberg, something you can do. Just WP nth and it spins up a local WordPress instance with that particular folder. It also supports Multisite that came with 20.8.

\n\n\n\n

Jessica Lyschik: Interesting.

\n\n\n\n

Birgit Pauli-Haack: Yeah, you’re right. There were quite a few bug fixes in there and some polish in terms of previews. And also, some panel changes that have been in the last few Gutenberg releases, and also for the ones for the next. That’s a refactor of things. It was 20.2. I don’t think there’s anything else.

\n\n\n\n

Jessica Lyschik: It’s a bit tricky with the numbers of 20.

\n\n\n\n

Birgit Pauli-Haack: Yeah. God.

\n\n\n\n

Jessica Lyschik: … in the brains of WordPress people.

\n\n\n\n

Birgit Pauli-Haack: Yeah. So that brings us to 20.3, which was released just two weeks ago.

\n\n\n\n

Gutenberg 20.3

\n\n\n\n

Jessica Lyschik: We were all hanging out in Manila.

\n\n\n\n

Birgit Pauli-Haack: Well, it was actually before or right on February 18th and it was released. Yes, we were all hanging out already. On travel, on planes. Yeah, my plane was… I was…

\n\n\n\n

Jessica Lyschik: On planes, yeah.

\n\n\n\n

Birgit Pauli-Haack: So, it was 12 hours to Singapore and then there’s another 3 1/2 hours from Singapore to Manila.

\n\n\n\n

Jessica Lyschik: Oh, I did the same route.

\n\n\n\n

Birgit Pauli-Haack: It was kind of 15 hours flight, but then you have to be 2 or 3 hours earlier at the airport. You have a layover in Singapore, and then you have to transfer from the airport to the hotel and…

\n\n\n\n

Jessica Lyschik: Yeah. I think I calculated something, like 23, 24-ish hours door to door, so it’s not just like a 15 hour flight. But yeah, you have to count in all the waiting time. I had to travel to Munich airport two hours, so that all adds up to this whole ordeal of…

\n\n\n\n

Traveling to Asia is easy. No, it’s not.

\n\n\n\n

Enhancements

\n\n\n\n

Birgit Pauli-Haack: No, it’s not. Yeah. So Gutenberg 20.3 also has a not particular big features coming in, but some nice additions. And one of them is that the social links now of a Discord logo that you can add to it. The query block now, that is really nice. It has an option to ignore sticky post. It took a while to get the sticky post into the filter, but then there’s also the need that sometimes you need a query loop that ignores the sticky post.

\n\n\n\n

Jessica Lyschik: Yeah. It’s definitely something that you’re used to this when you’re doing classic themes and just have all the opportunity with the WP query nth function. And it’s great to see that these little things and… Even if you do not use them that often, that these are still now available. That just makes transitioning to block themes and block inside it are so much better because you finally have all the options. But maybe not all yet for the query loop, but we are getting there. Let’s put it like that. We are getting there.

\n\n\n\n

Birgit Pauli-Haack: For sure, yeah. There was a major push in that.

\n\n\n\n

Do you want to take the next one?

\n\n\n\n

Jessica Lyschik: The yet another one of completing the options that you have on block is the RSS block got border and spacing support. And also, duotone settings got improved, they now have a reset button and improved toggle rendering. Let’s have a look what this does.

\n\n\n\n

Birgit Pauli-Haack: Yeah, the reset button has gotten quite the attention now that it was missing on a few of those color pickers or so, or panels. So, what did you find out?

\n\n\n\n

Jessica Lyschik: Oh. I think it’s also, these are such tiny changes. But once you have them, you realize it’s so much easier to clear colors or remove something that you would have needed another four clicks or something, and then it’s just one. So it doesn’t seem like big things, but it slowly improves over time. And I think this is what the editors actually need right now, this refinement. Because there’s always been in the past pushing big projects, new features, and now it’s more like, “Okay, we are in the situation, but the best we can do is basically to do the housekeeping and fix the smaller things and polish it.”

\n\n\n\n

Birgit Pauli-Haack: Yeah, and the smaller things.

\n\n\n\n

I think it’s for the user. Very important to have a consistent interface. So, if you put a background color in and you have a reset button, why don’t you have a reset button on the shadows? So, shadow panel. Or why can’t I have a reset button on the text color, for instance, if it was missing. So it’s definitely, you cannot take that cognitive load. You lower that quite a bit by having an inconsistent interface. Also, with border and spacing support, if the block doesn’t have it and all of a sudden it doesn’t match what you want, then you go over looking for things. And the spacer block is not always the best solution for things. It’s not a bad solution, but it’s not the best because once a panel gets or a block gets spacing support, now you have to chase down all the spacer blocks to take them out. So, it’s kind of interesting.

\n\n\n\n

Jessica Lyschik: That’s true, yeah.

\n\n\n\n

Birgit Pauli-Haack: The next one is there was a bug fix or maybe a revert on the quick inserter, that it didn’t search the patterns anymore when you put a search parameter in there. And that has been restored. So I think although that’s bug fix, or I think it’s bug fix, it’s definitely worth pointing out. So, a missing feature comes back. Yay.

\n\n\n\n

Jessica Lyschik: We just talked about it having the same options on blocks. Like, archives and categories got the color support. So, you can now have select colors on the archives and category blocks. Yet another one of those because then, people try.

\n\n\n\n

If you do not have them, it’s like, what do these blocks do not have? Why can I not change the color there? Then, people go to CSS and then it’s not needed actually if these settings would just be provided right from the start. But yeah, it’s like a living project. So, here we are.

\n\n\n\n

Birgit Pauli-Haack: Or what I always did when I didn’t have color support, I put it in a group block, and then of course it blows up the nesting of my blocks. So there are always ways around it, but once things then come into the editor, you need to think about how your workaround needs to be worked around.

\n\n\n\n

So, I think those were the few things that I wanted to point out. Did you see anything else that you wanted to point out?

\n\n\n\n

Jessica Lyschik: No, I don’t think so, but I’ve been just scrolling through it. It’s been a good chunk of bug fixes, some accessibility improvements, some performance improvements, good quality tools.

\n\n\n\n

Gutenberg 20.4

\n\n\n\n

Birgit Pauli-Haack: All right. That brings us to Gutenberg 20.4, which is also the last Gutenberg release for which the enhancements made it into 6.8. After that, it’s all bug fixes that go into the release, and any new enhancements coming into Gutenberg will be reserved for the next release. What is it? 6.9? We don’t know yet when that’s going to be, but…

\n\n\n\n

So, what’s in there? There is a conditional enable the new default rendering mode for pages. I highlighted that. And I heard from quite a few people that they like that there is a default rendering mode for pages, but I have not seen yet the use case for it. So, why are people so excited about this? But yeah.

\n\n\n\n

Jessica Lyschik: That’s a very good question. You already had this show template. That’s already in there. That’s a good question. Why it’s so hyped? Maybe, I need to test it out. That’s probably a problem.

\n\n\n\n

I haven’t gotten to looking at the latest releases on an actual site yet because WordCamp Asia, being sick, being busy at work, life happens. I only heard this week, things were a bit off, and template parts were actually missing from if you had 6.8 Beta 1 running. So there have been some hiccups there as well,

\n\n\n\n

Birgit Pauli-Haack: Yeah. We definitely need to track that down here. So now, there is a persistence. So you could have a show template preferences, but now there are also sport, which is pretty cool. There was a time where you started with a new page, and first you saw all the patterns that are labeled for new pages, page layouts. That modal was removed, and now it’s back. So, it’s a 50/50 thing what people want and what don’t want when they use that. So, that’s also an interesting development.

\n\n\n\n

Jessica Lyschik: I mean, the problem with the modal… I mean, it wasn’t removed. There was an option, because I worked on this part as well. It got an option to be disabled in the settings when you’re on a site where you have to add new pages over and over again, and you know what you want to put on a page. You do not need this modal popping up every time. So, it was more of a user enhancement so that you can decide, “Okay, do I need this model every time or do I just turn it off?” So, there was that part.

\n\n\n\n

I’m not aware if it’s back yet. I heard people saying to remove it completely. But yeah, there’s a lot of different use cases how you would like to… Some people want the model always to be on because they don’t know what they are doing, basically. They just want to pop on a template or a pattern there and are good to go. And there are people who would like to just start writing first. There are people who maybe, want to use it but don’t want to be bothered all the time. It’s one of these things where a lot of different use cases clash together, and then it’s just so hard to actually find what is it, where is the…

\n\n\n\n

Birgit Pauli-Haack: The middle ground there.

\n\n\n\n

Jessica Lyschik: What’s the thing? Where’s the middle ground that we can go and implement it that way? So, kind of everyone or the majority of people is okay with it. There will always be people who are like, “I don’t like this. I want it to be different.”

\n\n\n\n

Birgit Pauli-Haack: Right.

\n\n\n\n

Jessica Lyschik: But that’s basically impossible to make it happen for everyone.

\n\n\n\n

Birgit Pauli-Haack: Right, yeah. Another problem was when you say, “Oh, I don’t want the starter modal,” it was hard to get the layouts, if you wanted, to get to patterns and get the layouts because there was no category for that. So, you had to assemble them from a list of patterns or from multiple pattern categories to put those page layouts together. And I think… I don’t know if it’s here or it was in an earlier version where they restored or created a category for patterns for the starter content. I think that was part of that, or how can we do that better for our users.

\n\n\n\n

So there is now a pop-over on the left-hand side to show post template. If there is one to give you additional options, I think there. The next thing is that pull quote finally has the assignment styles that was missing for a long time. That you couldn’t do left, right and all of that, or wide. So, it has it now. It’s all about persistence. And border control got the reset button.

\n\n\n\n

Jessica Lyschik: Yes. It’s, again, these tiny things that make or break something, or your experience.

\n\n\n\n

Bug Fixes

\n\n\n\n

Birgit Pauli-Haack: Right. And post comments count also have received border support. That’s cool. So now, you can have it stand out some more. Post formats have still be a little bit of a hit-and-miss with the block themes, but sometimes somebody says, “Okay, well let’s fix that some of the things.” And now, you see title and description for post formats in your templates. So in the list of templates, you can now see which are the templates for your image formats, for your link format, and if they are templates for that. So, that’s really cool.

\n\n\n\n

And there’s an interesting bug fix that drove me nuts for a while, was that the text and color picker were overlapping each other in the format library. And that is fixed, thank God. Thank you so much. 

\n\n\n\n

Documentation

\n\n\n\n

And then there are some documents updates. There’s obviously, the problem that a lot of features come in and the documentation hasn’t been updated. So, that has been rectified for the block variations using get_block_type_variationblock. And then also, removes the nodes for block hooks that it only supports static theme elements because that’s not true anymore. Block hooks also support dynamic blocks. All right.

\n\n\n\n

Jessica Lyschik: Yeah, nice.

\n\n\n\n

Birgit Pauli-Haack: So, that was that for 20.4. That was just released this week, and we are recording this on March 7th. Just to say that.

\n\n\n\n

What’s in Active Development & Discussed – WordPress 6.8 Beta                                                       

\n\n\n\n

So, what’s an active development? And discussion brings us to WordPress 6.8 in Beta has been released. Beta 1 has been released. And you can follow along on the WordPress.org announcements or news. So, there will be Beta 1, Beta 2, Beta 3 and Release Candidate 1, 2, and 3 before the final release on April 15th. The test team has published, for the last few releases, always a Help Test, the next release. And this one is not different. There’s Help Test WordPress 6.8, and it helps… Well, you can help making this release the best that it can be. Finding all the bugs, not all of it, but report them. Find as much many. Try to break it as often as you can. Report the bugs.

\n\n\n\n

And I have found another incentive on, actually, heeding to the call for testing is to learn more about the new features because instructions are very well done, compliments to Krupa Nanda, to learn more about the new features or the enhancements and how are they supposed to work so you can distinguish them. So, is it me that I don’t know how this works? That I don’t get it? Or is that a bug? So, they went to great lengths to do that.

\n\n\n\n

You can also use Playground to test things. You don’t have to spin up a new WordPress staging site or something like that to test things. Yeah, you can go to make.wordpress.org/test to find the post or you look for the show notes on the Gutenberg Times and click on that link.

\n\n\n\n

So Jessica, the WordPress 6.8 is characterized as a polished release. Is there anything that stands out for you coming to 6.8 that you’re excited about?

\n\n\n\n

Jessica Lyschik: I do. It’s a polishing that I think is… I mean, as I said before, given the situation that we are in, I think this is the best that we can do. And yeah, I’ve been just scrolling through these Call for Testing blog posts that you just mentioned. And it is really thoroughly, so I would actually be excited to dive into this and do the testing because this is pretty well done.

\n\n\n\n

And I think about 6.8 and the coming releases… I haven’t been paying too much attention to what is in 6.8 apart from a few things that we highlighted today, and I have probably forgotten again because I was just out of the office for two weeks. 

\n\n\n\n

Speculative Loading in 6.8

\n\n\n\n

I think what’s also interesting is this speculative loading thing. I think there was also just a blog post these days. So, this speculative loading is, when I understood correctly, something like a browser? Like, the browser offers this API and WordPress has added its performance improvements. The performance team will probably come after me if I do not say this correctly. But from what I understood, it’s improving overall performance of a WordPress website by using these speculation rules. So it’s about what can be prefetched or what makes sense to be prefetched next, so that when you actually click on a link on the website, it loads faster because it already knows what I have, what the browser has to load in this case.

\n\n\n\n

I think this is something very interesting that might be bumping up the performance of a few websites. So, that will be interesting to see what the actual impact will be once 6.8 is out.

\n\n\n\n

Birgit Pauli-Haack: Yeah, I’m excited about that too. I think the browsers are now pretty well caught up with that. Not all browsers have all the features all the time, but this is something that, I think, has a big footprint around all the browsers being Firefox, Safari, Google Chrome.

\n\n\n\n

I link in the show notes too, Felix Arntz has published… Has worked on this feature, in the feature plugin before. And now, it’s coming to 6.8 and the dev note has been published now.

\n\n\n\n

Jessica Lyschik: I just checked on Can I Use, and it’s actually Safari and Firefox do not support it at the moment. Chrome, Edge, and Opera do. So, there is still a bit of a… It’s not a hundred percent on all browsers, but a good chunk of browsers already support this. So I hope these other browsers, Safari and Firefox, will catch up on this because it sounds pretty promising from a performance point of view to use these speculation rules.

\n\n\n\n

Birgit Pauli-Haack: I keep scrolling through the dev notes that have been published. They’re not in bulk coming out until Release Candidate 1, but John Blackburn also published a dev notes about the new encryption for the password hashing.

\n\n\n\n

Jessica Lyschik: Oh. Yes, I forgot this one.

\n\n\n\n

Birgit Pauli-Haack: Which there’s not a whole lot of things for users to do or even for developers. It’s just to know that the passwords are now hashed differently and increase the security of any of the passwords quite exponentially, which is really good. So, thank you for Felix and John to publish the dev notes early for that.

\n\n\n\n

All right, I’m sure we are going to talk about WordPress 6.8 some more on our next show when we know a little bit more what’s in there and what’s not in there. Thank you so much, Jessica, for being here. As always, the show notes will be published on GutenbergTimes.com/podcast. This is episode 115. And if you have questions and suggestions, just send them to Changelog@GutenbergTimes.com.

\n\n\n\n

And now, a plea for all those who use Spotify for their podcast pleasure, you can leave comments there. And also, check some of the stars so people know what they can expect on the show when they discover that on Spotify. Shopify. Well, yeah. So, thanks for listening and goodbye until the next time. Thank you, Jessica.

\n\n\n\n

Jessica Lyschik: Thank you. Bye.

\n\n\n\n

Birgit Pauli-Haack: Bye.

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 09 Mar 2025 09:21:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"Matt: Real WordPress Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=140118\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://ma.tt/2025/03/real-wordpress-security/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2753:\"

One thing you’ll see on every host that offers WordPress is claims about how secure they are, however they don’t put their money where their mouth is. When you dig deeper, if your site actually gets hacked they’ll hit you with remediation fees that can go from hundreds to thousands of dollars.

\n\n\n\n

They may try to sell you a security plan that for example at Godaddy goes from $300 to $700 a year on top of your hosting. (Don’t be fooled by the low entry price, look at renewal.) It’s heartbreaking to hear stories of non-technical people forced into these high fees to fix something their host should have prevented in the first place.

\n\n\n\n

When a host is powered by WP.cloud, it doesn’t need to do this because hacks are so incredibly rare. (That’s why it may appear more expensive, but the total cost of ownership or being a WP.cloud-powered host is much lower when you factor in human time.)

\n\n\n\n

One problem we’ve had on WordPress.com is we do all these amazing things and don’t tell anyone about it, something we’re trying to change with our focus this year on developers and developer tooling. One great example is we’re so confident about our security, if your site gets hacked we’ll fix it for free! We’ve actually been doing this for the better part of a decade, just never mentioned it anywhere.

\n\n\n\n

Pressable (which is WP.cloud-powered) does a better job talking about these things and has a nice landing page on malware cleaning and hack recovery that says essentially the same thing.

\n\n\n\n

WordPress has done a ton over the years to move the hosting industry around upgrading PHP and MySQL, PHP extensions, free SSL, and in general using our clout to advocate for user rights and freedoms from even the largest hosting companies, and I’m proud to say there are a good number, for example the ones you see at WordCamps, that have not just embraced these values but actually been more commercially successful as they’ve done so. I hope security and auto-upgrades not just for core but for plugins and themes becomes the next standard. (Jetpack does this for free, some hosts charge $100/yr per site.)

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 08 Mar 2025 11:07:49 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:119:\"Gutenberg Times: WordPress 6.8, Studio updates, Customize Embeds, and other Theme Design notes — Weekend Edition 320\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=37892\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:122:\"https://gutenbergtimes.com/wordpress-6-8-studio-updates-customize-embeds-and-other-theme-design-notes-weekend-edition-320/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:22780:\"

Hi there,

\n\n\n\n

That was quite a long pause in February. Did you miss me? I am back now and have a ton of great updates, videos, tutorials, and products for you in this newsletter. I won’t catch up on everything that was going on in the last four (😮) weeks. Most of it is fairly timeless.

\n\n\n\n

So how have you been? What have you been working on? Hit reply and clue me in! I missed you and your emails.

\n\n\n\n

Have a fantastic weekend!

\n\n\n\n

Yours, 💕
Birgit

\n\n\n\n\n\n\n\n

Developing Gutenberg and WordPress

\n\n\n\n

We had a few Gutenberg plugin releases and WordPress 6.8 is progressing nicely.

\n\n\n\n

WordPress 6.8

\n\n\n\n

WordPress 6.8 release cycle goes into the hot phase. WordPress 6.8 Beta 1 was released this week and is, in general, characterized as a polish release, with user enhancements throughout incorporated into the latest Gutenberg updates. “WordPress 6.8 brings a luster and gloss that only a polish release can.” Jeffrey Paul, release co-coordinator wrote in the release post. WordPress 6.8 RC1 is scheduled for March 25, 2025, that’s also the time around which the Fieldguide will be published. The final release will be on April 15, 2025.

\n\n\n\n
\n\n\n\n

Test team rep, Krupa Nanda, published the Help test WordPress 6.8. This release offers a chance to find and report bugs while learning about the new features in WordPress’s next major version. Nanda’s instructions and short videos help you understand how these new features work.

\n\n\n\n

Gutenberg Plugin releases

\n\n\n\n

Jessica Lyschik posted a summary of two Gutenberg plugin releases. In What’s new in Gutenberg 20.1 and 20.2? she highlighted:

\n\n\n\n
    \n
  • Content preview for pages in DataViews
  • \n\n\n\n
  • Menu name shown in list view
  • \n\n\n\n
  • Color pickers in Navigation, Social Icons and Post Featured Image get Clear control
  • \n\n\n\n
  • Content block: color options for headings added
  • \n
\n\n\n\n\"Content\n\n\n\n

Fabian Kägy published the release post What’s new in Gutenberg 20.3? (18 February) and highlighted two new updates:

\n\n\n\n
    \n
  • Ignore sticky posts in query loop
  • \n\n\n\n
  • Add social icon block variation for Discord
  • \n
\n\n\n\n\"Screenshot\n\n\n\n
\n\n\n\n

Gutenberg 20.4 is now available for testing. It marks the last Gutenberg version to make it into the upcoming WordPress major release.

\n\n\n\n
\n

🎙️ Latest episode: Gutenberg Changelog 115 – Gutenberg Releases 20.2, 20.3, 20.4, WordPress 6.8 and WordCamp Asia with special guest Jessica Lyschik.

\n\n\n\n\"Jessica\n
\n\n\n\n

Plugins, Themes, and Tools for #nocode site builders and owners

\n\n\n\n

It’s been a while since we saw a new plugin with a collection of Blocks makes it into the plugin repository. Thanks to WP Weekly‘s Davinder Singh Kainth, for discovering it. It’s called Frontis Blocks and created by the team called WP Messiah (What a name! 🤦‍♀️) and provides 27 Blocks. It’s works with all themes, among them the Frontis theme by the same developers.

\n\n\n\n
\n\n\n\n

Bud Kraus shares in his blog post for Hostinger How to customize WooCommerce templates with Gutenberg blocks. He explains the shopper journey and how to access and change templates like the Product Catalog, Single Product, Cart, and Checkout pages. Customization involves adding or changing blocks in these templates. However, some templates, like Cart and Checkout, have limited options to keep them functional. The tutorial shows WooCommerce’s move towards an editing experience that allows non-programmers to customize their online stores.

\n\n\n\n\"\"\n\n\n\n
\n\n\n\n

Get inspiration from the Automattic Special Projects team, that just published their new site. You can browse a selected list of projects and learn how they built it. You’ll find on the list Seth Godin’s blog, the Buckminster Fuller Institute or Noma. The team also started sharing their tools, the plugins, and blocks they built and open-sourced. I am particularly intrigued by the Accordion block and the infinite scroll query loop variation.

\n\n\n\n
\n\n\n\n

Speaking of tools, the ClassAct plugin by Dave Ryan might be useful for theme developers and Sitebuilder. It’s a microplugin for acting on Additional CSS classes per-block in the WordPress Editor. On X (former Twitter), Ryan shared a video of how it will show up in your block’s sidebar.

\n\n\n\n
\n\n\n\n

Theme Development for Full Site Editing and Blocks

\n\n\n\n

Henrique Iamarino, WordPress Theme designer at Automattic, discusses a new approach to designing WordPress themes in his article Beyond Templates: Reimagining WordPress Theme Design. He focuses on moving away from old, static templates to more flexible and dynamic design systems. The article highlights the need to give users tools for greater customization and creativity in creating websites. By changing the design process, Automattic aims to make WordPress themes more adaptable and user-focused while ensuring they are accessible and easy to use.

\n\n\n\n\"\"\n\n\n\n

Bud Kraus had an awesome month! In his Kinsta post, he shared how to Build a block theme using the Create Block Theme plugin. This plugin is a must-have for whipping up WordPress block themes. You can start from scratch, clone something you like, or create child themes, all within the WordPress Site Editor. It lets you save theme changes, play around with style variations, and even export your themes as zip files. Plus, you can tweak theme metadata, check out the theme.json file, and reset your theme whenever you need to.

\n\n\n\n

 “Keeping up with Gutenberg – Index 2024” 
A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: 2020 | 2021 | 2022 | 2023

\n\n\n\n

Building Blocks and Tools for the Block editor.

\n\n\n\n

James Le Page, AI lead at Automattic, has worked on the Excalidraw Block. It is a custom WordPress block that allows users to embed an Excalidraw editor directly into the post editor. This block provides a seamless way to create and edit diagrams within WordPress. On X (former twitter) LePage posted a short video to show off the block’s capabilities. The code is available on GitHub put needs a build step to install it successfully on your WordPress site.

\n\n\n\n
\n\n\n\n

JuanMa Garrido wrote about his Understanding how WordPress Hooks work from a Stack Trace. He shared how to use stack traces to analyze WordPress hooks, helping developers see how hooks work, find errors, and improve their use in plugins and themes. By looking at stack traces, developers can track function calls, identify triggered hooks, and fix plugin conflicts. This method is essential for troubleshooting complex WordPress sites where multiple hooks operate at once, ensuring everything works well together and aiding in debugging custom code related to hooks.

\n\n\n\n
\n\n\n\n

In his the video “Cooking with AI: Creating New Recipes with Cursor AI“, Ryan Welcher set out to improve his use of AI tools for developers in 2025. Specifically, he’s setting up Cursor AI to help him generate new recipes for the Block Developer Cookbook more quickly and with better examples.

\n\n\n
\n
\n
\n
\n
\n\n\n

Aslam Multani of Multidots recently published How to Develop Custom Gutenberg Blocks for WordPress: A Step-by-Step Guide. This blog post explains how to create custom Gutenberg blocks, covering everything from setting up your development environment to debugging block code. It starts by detailing what Gutenberg blocks are and the requirements, such as having a local WordPress installation and knowledge of HTML, CSS, JavaScript, React, PHP, and WordPress plugin development.
To make a custom block, it suggests using the create-block tool to set up a new plugin and explains the necessary file structure, including build/, src/, edit.js, save.js, and block.json. The post guides you through installing the block plugin and automating the build process with npm start, highlighting the functions of Edit and Save and using the RichText component for user interaction.
It also covers customization options like adding support for color and spacing, setting default properties in block.json, and creating nested blocks with the InnerBlocks component. Lastly, it touches on internationalization (i18n) using the __() function and provides an example of a testimonials block to demonstrate these ideas. However, it misses discussing when to use different tools, such as block styles or variations, before creating a Custom Block.

\n\n\n\n
\n\n\n\n

A new version of the local development tool, Studio, was released: Introducing Preview Sites: Pushing the Limits of Collaboration with Studio. The WordPress.com blog post highlights upgrades to “Demo Sites,” now “Preview Sites,” enhancing local development and simplifying sharing with clients and teammates. Key improvements include:

\n\n\n\n
    \n
  • Increased Storage: Expanded from 250 MB to 2 GB.
  • \n\n\n\n
  • More Sites: Doubling from 5 to 10 preview sites.
  • \n\n\n\n
  • Personalized URLs: Shorter, user-specific URLs.
  • \n\n\n\n
  • Timeline: Available for seven days post-update.
  • \n
\n\n\n\n

The name change to “Preview Sites” emphasizes their role in showcasing work-in-progress and collaboration. Enhanced Preview Sites are available to all Studio users, with existing Demo Sites converting automatically.

\n\n\n\n\"\"\n\n\n\n

WordPress Developer Blog

\n\n\n
\n\n\n

Two new post on the Developer Blog might catch your attention:

\n\n\n\n

Troy Chaplin took on the monthly round up What’s new for developers? (February 2025). The post mentioned WordPress 6.7.2 with bug fixes and enhancements, and took a look ahead to WordPress 6.8’s data view and performance improvements. Gutenberg celebrated its 8th birthday with versions 20.1 and 20.2, introducing enhancements to blocks and UI customization. Updates include improvements to the Navigation, Page List, and Social Links blocks.

\n\n\n\n
\n\n\n\n

Róbert Mészáros guides you through his tutorial on how to customize WordPress embeds to match your theme. He discusses different ways to adjust WordPress embeds to fit a site’s theme and branding, covering basic CSS styling, advanced changes like modifying excerpts, ensuring uniform image formats, adding features like a “like” button or publication date, and creating custom embed templates. The article also reviews the history of WordPress embeds, the default embed view, and loading template files from a plugin, encouraging developers to try these options and enhance WordPress embeds.

\n\n\n\n\"\"\n\n\n\n
\n\n\n\n

Need a plugin .zip from Gutenberg’s master branch?
Gutenberg Times provides daily build for testing and review.

\n\n\n\n

Now also available via WordPress Playground. There is no need for a test site locally or on a server. Have you been using it? Email me with your experience

\n\n\n\n

\"GitHub

\n\n\n\n

Questions? Suggestions? Ideas?
Don’t hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.

\n\n\n\n
\n\n\n\n

For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com

\n\n\n\n
\n\n\n\n

Featured Image:

\n\n\n\n
\n\n\n\n

Don’t want to miss the next Weekend Edition?

\n\n\n

We hate spam, too, and won’t give your email address to anyone
except Mailchimp to send out our Weekend Edition

Thanks for subscribing.
\n\n\n
\n\n\n\n

\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 08 Mar 2025 00:45:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"Do The Woo Community: Do the Woo Friday Shares, March 7, 2025 v9\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=92516\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"https://dothewoo.io/blog/do-the-woo-friday-shares-march-7-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:194:\"WordPress continues to lead in enterprise solutions, showcasing new tools, addressing gender inequality in leadership, and enhancing WooCommerce functionalities while promoting community events.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 07 Mar 2025 09:59:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n \n \n \n \n \n \n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"Do The Woo Community: Designing Products Users Love, A Deep Dive with Shahjahan Jewel\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=91323\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:83:\"https://dothewoo.io/designing-products-users-love-a-deep-dive-with-shahjahan-jewel/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:198:\"In this episode, James, Katie, and guest Jewel discuss user experience in product design, the importance of customer feedback, team dynamics, and the growth of WP Manage Ninja\'s innovative products.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 06 Mar 2025 15:17:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:48:\"WpOrg\\Requests\\Utility\\CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Fri, 28 Mar 2025 10:41:28 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:13:\"last-modified\";s:29:\"Fri, 28 Mar 2025 10:30:30 GMT\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:16:\"content-encoding\";s:4:\"gzip\";s:7:\"alt-svc\";s:19:\"h3=\":443\"; ma=86400\";s:4:\"x-nc\";s:9:\"HIT ord 1\";}}s:5:\"build\";i:1727736619;s:21:\"cache_expiration_time\";i:1743201688;s:23:\"__cache_expiration_time\";i:1743201688;}','off'),(146,'_transient_timeout_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1743201688','off'),(147,'_transient_feed_mod_d117b5738fbd35bd8c0391cda1f2b5d9','1743158488','off'),(148,'_transient_timeout_dash_v2_88ae138922fe95674369b1cb3d215a2b','1743201688','off'),(149,'_transient_dash_v2_88ae138922fe95674369b1cb3d215a2b','','off'),(150,'_site_transient_wp_plugin_dependencies_plugin_data','a:1:{s:10:\"wp-graphql\";a:35:{s:4:\"name\";s:9:\"WPGraphQL\";s:4:\"slug\";s:10:\"wp-graphql\";s:7:\"version\";s:5:\"2.1.1\";s:6:\"author\";s:66:\"Jason Bahl\";s:14:\"author_profile\";s:41:\"https://profiles.wordpress.org/jasonbahl/\";s:12:\"contributors\";a:6:{s:9:\"jasonbahl\";a:3:{s:7:\"profile\";s:41:\"https://profiles.wordpress.org/jasonbahl/\";s:6:\"avatar\";s:120:\"https://secure.gravatar.com/avatar/798f7b954678b4efaafa269e29194e435a61bbd02accfbf2a93ebc37888f9ce5?s=96&d=monsterid&r=g\";s:12:\"display_name\";s:10:\"Jason Bahl\";}s:12:\"tylerbarnes1\";a:3:{s:7:\"profile\";s:44:\"https://profiles.wordpress.org/tylerbarnes1/\";s:6:\"avatar\";s:120:\"https://secure.gravatar.com/avatar/0168aae06b1406c39d3ba9ea8138d8de975df7cd08382e9960976e7fe3701c2a?s=96&d=monsterid&r=g\";s:12:\"display_name\";s:5:\"Tyler\";}s:10:\"ryankanner\";a:3:{s:7:\"profile\";s:42:\"https://profiles.wordpress.org/ryankanner/\";s:6:\"avatar\";s:120:\"https://secure.gravatar.com/avatar/0b51cdade8f3b0ac34c620396636f857d4189bfdb7f3df4249a5e9b9d114a022?s=96&d=monsterid&r=g\";s:12:\"display_name\";s:11:\"Ryan Kanner\";}s:10:\"chopinbach\";a:3:{s:7:\"profile\";s:42:\"https://profiles.wordpress.org/chopinbach/\";s:6:\"avatar\";s:120:\"https://secure.gravatar.com/avatar/e9ef79a809e178334a16c65dc6d46a66aeb6226486fd316e285d0957b222c127?s=96&d=monsterid&r=g\";s:12:\"display_name\";s:13:\"Edwin Cromley\";}s:9:\"kidunot89\";a:3:{s:7:\"profile\";s:41:\"https://profiles.wordpress.org/kidunot89/\";s:6:\"avatar\";s:120:\"https://secure.gravatar.com/avatar/b88ae0ad9a6c04e5ee6050d959957f7662fd56d036e13f8d5d195e0ea1016036?s=96&d=monsterid&r=g\";s:12:\"display_name\";s:12:\"Geoff Taylor\";}s:10:\"justlevine\";a:3:{s:7:\"profile\";s:42:\"https://profiles.wordpress.org/justlevine/\";s:6:\"avatar\";s:120:\"https://secure.gravatar.com/avatar/33212bff2915bd72792772a2d3203abe0402352b6be6ba65081036f10560c6e6?s=96&d=monsterid&r=g\";s:12:\"display_name\";s:12:\"David Levine\";}}s:8:\"requires\";s:3:\"6.0\";s:6:\"tested\";s:5:\"6.7.2\";s:12:\"requires_php\";s:3:\"7.4\";s:16:\"requires_plugins\";a:0:{}s:6:\"rating\";i:98;s:7:\"ratings\";a:5:{i:5;i:46;i:4;i:1;i:3;i:1;i:2;i:0;i:1;i:0;}s:11:\"num_ratings\";i:48;s:11:\"support_url\";s:48:\"https://wordpress.org/support/plugin/wp-graphql/\";s:15:\"support_threads\";i:1;s:24:\"support_threads_resolved\";i:1;s:15:\"active_installs\";i:30000;s:12:\"last_updated\";s:22:\"2025-03-19 10:14pm GMT\";s:5:\"added\";s:10:\"2020-11-14\";s:8:\"homepage\";s:40:\"https://github.com/wp-graphql/wp-graphql\";s:8:\"sections\";a:5:{s:11:\"description\";s:3275:\"

WPGraphQL is a free, open-source WordPress plugin that provides an extendable GraphQL schema and API for any WordPress site.

\n

Get Started

\n
    \n
  1. Install WPGraphQL: wp plugin install wp-graphql --activate
  2. \n
  3. Try it out: Live Demo
  4. \n
  5. Read the Quick Start Guide.
  6. \n
  7. Join the Community on Discord and Star the Repo!
  8. \n
\n

Key Features

\n
    \n
  • Flexible API: Query posts, pages, custom post types, taxonomies, users, and more.
  • \n
  • Extendable Schema: Easily add functionality with WPGraphQL’s API, enabling custom integrations.
  • \n
  • Compatible with Modern Frameworks: Works seamlessly with Next.js, Astro, SvelteKit, and more.
  • \n
  • Optimized Performance: Fetch exactly the data you need in a single query. Boost performance with WPGraphQL Smart Cache.
  • \n
\n

WPGraphQL is becoming a Canonical Plugin on WordPress.org, ensuring long-term support and a growing community of users and contributors.

\n

Upgrading

\n

It is recommended that anytime you want to update WPGraphQL that you get familiar with what’s changed in the release.

\n

WPGraphQL publishes release notes on Github.

\n

WPGraphQL has been following Semver practices for a few years. We will continue to follow Semver and let version numbers communicate meaning. The summary of Semver versioning is as follows:

\n
    \n
  • MAJOR version when you make incompatible API changes,
  • \n
  • MINOR version when you add functionality in a backwards compatible manner, and
  • \n
  • PATCH version when you make backwards compatible bug fixes.
  • \n
\n

You can read more about the details of Semver at semver.org

\n

Privacy Policy

\n

WPGraphQL uses Appsero SDK to collect some telemetry data upon user’s confirmation. This helps us to troubleshoot problems faster and make product improvements.

\n

Appsero SDK does not gather any data by default. The SDK starts gathering basic telemetry data only when a user allows it via the admin notice.

\n

Learn more about how Appsero collects and uses this data.

\n

Learn more about how Appsero collects and uses this data.

\n\";s:3:\"faq\";s:1570:\"\n
\nHow is WPGraphQL funded?\n\n

\n

WPGraphQL is free and open-source. It is supported by contributors, backers, and sponsors, including Automattic, which provides significant support as WPGraphQL becomes a Canonical Plugin.

\n

Learn more about supporting WPGraphQL on Open Collective.

\n

\n
\nCan I use WPGraphQL with xx JavaScript framework?\n\n

\n

Yes! WPGraphQL works with any client that can make HTTP requests to the GraphQL endpoint. It integrates seamlessly with frameworks like Next.js, Gatsby, Astro, and more.

\n

\n
\nWhere can I get support?\n\n

\n

You can join the WPGraphQL Discord community for support, discussions, and announcements.

\n

\n
\nHow does WPGraphQL handle privacy and telemetry?\n\n

\n

WPGraphQL uses the Appsero SDK to collect telemetry data only after user consent. This helps improve the plugin while respecting user privacy.

\n

\n\n\";s:9:\"changelog\";s:25405:\"

2.1.1

\n

Bug Fixes

\n
    \n
  • fix: Avoid the deprecation warning when sending null header values (https://github.com/jasonbahl/automation-tests/pull/3338)
  • \n
\n

Other Changes

\n
    \n
  • chore: update README’s for github workflows (https://github.com/jasonbahl/automation-tests/pull/3343)
  • \n
  • chore: update cursor rules to use .cursor/rules instead of .cursorrules (https://github.com/jasonbahl/automation-tests/pull/3333)
  • \n
  • chore: add WPGraphQL IDE to the extensions page (https://github.com/jasonbahl/automation-tests/pull/3332)
  • \n
\n

2.1.0

\n

New Features

\n
    \n
  • \n

    #3320: feat: add filter to Request::is_valid_http_content_type to allow for custom content types with POST method requests
    \nChores / Bugfixes

    \n
  • \n
  • \n

    #3314: fix: use version_compare to simplify incompatible dependent check

    \n
  • \n
  • #3316: docs: update changelog and upgrade notice
  • \n
  • #3325: docs: update quick-start.md
  • \n
  • #3190: docs: add developer docs for AbstractConnectionResolver
  • \n
\n

2.0.0

\n

BREAKING CHANGE UPDATE

\n

This is a major update that drops support for PHP versions below 7.4 and WordPress versions below 6.0.

\n

We’ve written more about the update here:

\n
    \n
  • https://www.wpgraphql.com/2024/12/16/wpgraphql-v2-0-is-coming-heres-what-you-need-to-know
  • \n
  • https://www.wpgraphql.com/2024/12/16/wpgraphql-v2-0-technical-update-breaking-changes
  • \n
\n

1.32.1

\n

Chores / Bugfixes

\n
    \n
  • #3308: fix: update term mutation was preventing terms from removing the parentId
  • \n
\n

1.32.0

\n

New Features

\n
    \n
  • #3294: feat: introduce new fields for getting mediaItem files and filePaths
  • \n
\n

Chores / Bugfixes

\n
    \n
  • update stable tag
  • \n
\n

1.31.0

\n

New Features

\n
    \n
  • #3278: feat: add option to provide custom file path for static schemas when using the wp graphql generate-static-schema command
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3284: fix: fix: Updated docs link for example of hierarchical data
  • \n
  • #3283: fix: Error in update checker when WPGraphQL is active as an mu-plugin
  • \n
  • #3293: fix: correct the resolver for the MediaDetails.file field to return the file name
  • \n
  • #3299: chore: restore excluded PHPCS rules
  • \n
  • #3301: fix: React backwards-compatibility with WP < 6.6
  • \n
  • #3302: chore: update NPM dependencies
  • \n
  • #3297: fix: typo in Extensions\\Registry\\get_extensions() method name
  • \n
  • #3303: chore: cleanup git cache
  • \n
  • #3298: chore: submit GF, Rank Math, and Headless Login plugins
  • \n
  • #3287: chore: fixes the syntax of the readme.txt so that the short description is shown on WordPress.org
  • \n
  • #3284: fix: Updated docs link for example of hierarchical data
  • \n
\n

1.30.0

\n

Chores / Bugfixes

\n
    \n
  • #3250: fix: receiving post for Incorrect uri
  • \n
  • #3268: ci: trigger PR workflows on release/* branches
  • \n
  • #3267: chore: fix bleeding edge/deprecated PHPStan smells [first pass]
  • \n
  • #3270: build(deps): bump the npm_and_yarn group across 1 directory with 3 updates
  • \n
  • #3271: fix: default cat should not be added when other categories are added
  • \n
\n

New Features

\n
    \n
  • #3251: feat: implement SemVer-compliant update checker
  • \n
  • #3196: feat: expose EnqueuedAsset.group and EnqueuedScript.location to schema
  • \n
  • #3188: feat: Add WPGraphQL Extensions page to the WordPress admin
  • \n
\n

1.29.3

\n

Chores / Bugfixes

\n
    \n
  • #3245: fix: update appsero/client to v2.0.4 to prevent conflicts with WP6.7
  • \n
  • #3243: chore: fix Composer autoloader for WPGraphQL.php
  • \n
  • #3242: chore: update Composer dev deps
  • \n
  • #3235: chore: general updates to README.md and readme.txt
  • \n
  • #3234: chore: update quick-start.md to provide more clarity around using wpackagist
  • \n
\n

1.29.2

\n

Chores / Bugfixes

\n
    \n
  • fix: move assets/blueprint.json under .wordpress-org directory
  • \n
\n

1.29.1

\n

Chores / Bugfixes

\n
    \n
  • #3226: chore: add blueprint.json so WPGraphQL can be demo’d with a live preview on WordPress.org
  • \n
  • #3218: docs: update upgrading.md to highlight how breaking change releases will be handled
  • \n
  • #3214: fix: lazy-resolve Post.sourceUrl and deprecate Post.sourceUrlsBySize
  • \n
  • #3224: chore(deps-dev): bump symfony/process from 5.4.40 to 5.4.46 in the composer group
  • \n
  • #3219: test: add tests for querying different sizes of media items
  • \n
  • #3229: fix: Deprecated null value warning in titleRendered callback
  • \n
\n

1.29.0

\n

New Features

\n
    \n
  • #3208: feat: expose commenter edge fields
  • \n
  • #3207: feat: introduce get_graphql_admin_notices and convert AdminNotices class to a singleton
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3213: chore(deps): bump the npm_and_yarn group across 1 directory with 4 updates
  • \n
  • #3212: chore(deps): bump dset from 3.1.3 to 3.1.4 in the npm_and_yarn group across 1 directory
  • \n
  • #3211: chore: add LABELS.md
  • \n
  • #3201: fix: ensure connectedTerms returns terms for the specified taxonomy only
  • \n
  • #3199: chore(deps-dev): bump the npm_and_yarn group across 1 directory with 2 updates
  • \n
\n

1.28.1

\n

Chores / Bugfixes

\n
    \n
  • #3189: fix: [regression] missing placeholder in $wpdb->prepare() call
  • \n
\n

1.28.0

\n

Upgrade Notice

\n

This release contains an internal refactor for how the Type Registry is generated which should lead to significant performance improvements for most users. While there is no known breaking changes, because this change impacts every user we highly recommend testing this release thoroughly on staging servers to ensure the changes don’t negatively impact your projects.

\n

New Features

\n
    \n
  • #3172: feat: only eagerlyLoadType on introspection requests.
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3181: ci: replace docker-compose commands with docker compose
  • \n
  • #3182: ci: test against WP 6.6
  • \n
  • #3183: fix: improve performance of SQL query in the user loader
  • \n
\n

1.27.2

\n

Chores / Bugfixes

\n
    \n
  • #3167: fix: missing .svg causing admin_menu not to be registered
  • \n
\n

1.27.1

\n

Chores / Bugfixes

\n
    \n
  • #3066: fix: merge query arg arrays instead of overriding.
  • \n
  • #3151: fix: update dev-deps and fix WPGraphQL::get_static_schema()
  • \n
  • #3152: fix: handle regression when implementing interface with identical args.
  • \n
  • #3153: chore(deps-dev): bump composer/composer from 2.7.6 to 2.7.7 in the composer group across 1 directory
  • \n
  • #3155: chore(deps-dev): bump the npm_and_yarn group across 1 directory with 2 updates
  • \n
  • #3160: chore: Update branding assets
  • \n
  • #3162: fix: set_query_arg should not merge args
  • \n
\n

1.27.0

\n

New Features

\n
    \n
  • #3143: feat: Enhance tab state management with query arguments and localStorage fallback
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3139: fix: $settings_fields param on “graphql_get_setting_section_field_value” filter not passing the correct type
  • \n
  • #3137: fix: WPGraphQL Settings page fails to load when “graphiql_enabled” setting is “off”
  • \n
  • #3133: build: clean up dist
  • \n
  • #3146: test: add e2e test coverage for tabs in the settings page
  • \n
\n

1.26.0

\n

New Features

\n
    \n
  • #3125: refactor: improve query handling in AbstractConnectionResolver\n
      \n
    • new: graphql_connection_pre_get_query filter
    • \n
    • new: AbstractConnectionResolver::is_valid_query_class()
    • \n
    • new: AbstractConnectionResolver::get_query()
    • \n
    • new: AbstractConnectionResolver::get_query_class()
    • \n
    • new: AsbtractConnectionResolver::query_class()
    • \n
    • new: AbstractConnectionResolver::$query_class
    • \n
    \n
  • \n
  • #3124: refactor: split AbstractConnectionResolver::get_args() and ::get_query_args() into ::prepare_*() methods
  • \n
  • #3123: refactor: split AbstractConnectionResolver::get_ids() into ::prepare_ids()
  • \n
  • #3121: refactor: split AbstractConnectionResolver::get_nodes() and get_edges() into prepare_*() methods
  • \n
  • #3120: refactor: wrap AbstractConnectionResolver::is_valid_model() in ::get_is_valid_model()
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3125: refactor: improve query handling in AbstractConnectionResolver\n
      \n
    • Implement PHPStan Generic Type
    • \n
    • Update generic Exceptions to InvariantViolation
    • \n
    \n
  • \n
  • #3127: chore: update references to the WPGraphQL Slack Community to point to the new WPGraphQL Discord community instead.
  • \n
  • #3122: chore: relocate AbstractConnectionResolver::is_valid_offset() with other abstract methods.
  • \n
\n

1.25.0

\n

New Features

\n
    \n
  • #3104: feat: add AbsractConnectionResolver::pre_should_execute(). Thanks @justlevine!
  • \n
\n

Chores / Bugfixes
\n– #3104: refactor: AbstractConnectionResolver::should_execute() Thanks @justlevine!
\n– #3112: fix: fixes a regression from v1.24.0 relating to field arguments defined on Interfaces not being properly merged onto Object Types that implement the interface. Thanks @kidunot89!
\n– #3114: fix: node IDs not showing in the Query Analyzer / X-GraphQL-Keys when using DataLoader->load_many()
\n– #3116: chore: Update WPGraphQLTestCase to v3. Thanks @kidunot89!

\n

1.24.0

\n

New Features

\n
    \n
  • #3084: perf: refactor PluginConnectionResolver to only fetch plugins once. Thanks @justlevine!
  • \n
  • #3088: refactor: improve loader handling in AbstractConnectionResolver. Thanks @justlevine!
  • \n
  • #3087: feat: improve query amount handling in AbstractConnectionResolver. Thanks @justlevine!
  • \n
  • #3086: refactor: add AbstractConnectionResolver::get_unfiltered_args() public getter. Thanks @justlevine!
  • \n
  • #3085: refactor: add AbstractConnectionResolver::prepare_page_info()and only instantiate once. Thanks @justlevine!
  • \n
  • #3083: refactor: deprecate camelCase methods in AbstractConnectionResolver for snake_case equivalents. Thanks @justlevine!
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3095: chore: lint for superfluous whitespace. Thanks @justlevine!
  • \n
  • #3100: fix: recursion issues with interfaces
  • \n
  • #3082: chore: prepare ConnectionResolver classes for v2 backport
  • \n
\n

1.23.0

\n

New Features

\n
    \n
  • #3073: feat: expose hasPassword and password fields on Post objects. Thanks @justlevine!
  • \n
  • #3091: feat: introduce actions and filters for GraphQL Admin Notices
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3079: fix: GraphiQL IDE test failures
  • \n
  • #3084: perf: refactor PluginConnectionResolver to only fetch plugins once. Thanks @justlevine!
  • \n
  • #3092: ci: test against wp 6.5
  • \n
  • #3093: ci: Update actions in GitHub workflows and cleanup. Thanks @justlevine!
  • \n
  • #3093: chore: update Composer dev-deps and lint. Thanks @justlevine!
  • \n
\n

1.22.1

\n

Chores / Bugfixes

\n
    \n
  • #3067: fix: respect show avatar setting
  • \n
  • #3063: fix: fixes a bug in cursor stability filters that could lead to empty order
  • \n
  • #3070: test(3063): Adds test for #3063
  • \n
\n

1.22.0

\n

New Features

\n
    \n
  • #3044: feat: add graphql_pre_resolve_menu_item_connected_node filter
  • \n
  • #3039: feat: add UniformResourceIdentifiable interface to Comment type
  • \n
  • #3020: feat: introduce graphql_query_analyzer_get_headers filter
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3062: ci: pin wp-browser to “<3.5” to allow automated tests to run properly
  • \n
  • #3057: fix: admin_enqueue_scripts callback should expect a possible null value passed to it
  • \n
  • #3048: fix: isPostsPage on content type
  • \n
  • #3043: fix: return empty when filtering menuItems by a location with no assigned items
  • \n
  • #3045: fix: UsersConnectionSearchColumnEnum values should be prefixed with user_
  • \n
\n

1.21.0

\n

\n

New Features

\n
    \n
  • #3035: feat: provide better error when field references a type that does not exist
  • \n
  • #3027: feat: Add register_graphql_admin_notice API and intial use to inform users of the new WPGraphQL for ACF plugin
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3038: chore(deps-dev): bump the composer group across 1 directories with 1 update. Thanks @dependabot!
  • \n
  • #3033: fix: php deprecation error for dynamic properties on AppContext class
  • \n
  • #3031: fix(graphiql): Allow GraphiQL to run even if a valid schema cannot be returned. Thanks @linucks!
  • \n
\n

1.20.0

\n

New Features

\n
    \n
  • #3013: feat: output GRAPHQL_DEBUG message if requested amount is larger than connection limit. Thanks @justlevine!
  • \n
  • #3008: perf: Expose graphql_should_analyze_queries as setting. Thanks @justlevine!
  • \n
\n

Chores / Bugfixes

\n
    \n
  • #3022: chore: add @justlevine to list of contributors! 🙌 🥳
  • \n
  • #3011: chore: update composer dev-dependencies and use php-compatibility:develop branch to 8.0+ lints. Thanks @justlevine!
  • \n
  • #3010: chore: implement stricter PHPDoc types. Thanks @justlevine!
  • \n
  • #3009: chore: implement stricter PHPStan config and clean up unnecessary type-guards. Thanks @justlevine!
  • \n
  • #3007: fix: call html_entity_decode() with explicit flags and decode single-quotes. Thanks @justlevine!
  • \n
  • #3006: fix: replace deprecated AbstractConnectionResolver::setQueryArg() call with ::set_query_arg(). Thanks @justlevine!
  • \n
  • #3004: docs: Update using-data-from-custom-database-tables.md
  • \n
  • #2998: docs: Update build-your-first-wpgraphql-extension.md. Thanks @Jacob-Daniel!
  • \n
  • #2997: docs: update wpgraphql-concepts.md. Thanks @Jacob-Daniel!
  • \n
  • #2996: fix: Field id duplicates uri field description. Thanks @marcinkrzeminski!
  • \n
\n

View Full Changelog: https://github.com/wp-graphql/wp-graphql/blob/develop/CHANGELOG.md

\n\";s:11:\"screenshots\";s:347:\"
  1. \"\"
  2. \"\"
\";s:7:\"reviews\";s:16212:\"
\n
\n
\n
\n

Speedy

\n
\n
\n
\n

\n By \'\'con (conschneider) on March 26, 2025

\n
\n
\n
GraphQL vs. REST API\n 10 : 0\n\nThank you for this plugin. Building my headless application with WPGraphQL is fun. \nThe repl interface to test queries is A+.
\n
\n
\n
\n
\n
\n

Performance performance performance

\n
\n
\n
\n

\n By \'\'psychosispicks on September 7, 2023

\n
\n
\n
\n

I\'m so glad I decided to transition to a headless WP, and WPGraphQL made this possible, convenient and super fast.

\n
\n
\n
\n
\n
\n
\n

Unreliable

\n
\n
\n
\n

\n By \'\'benknight on May 29, 2023

\n
\n
\n
\n

I operate a large blog that uses WordPress as a headless CMS with a Next.JS frontend, which is largely enabled by this plugin. Let me just say first that creating an entire alternative third-party data API is an ambitious undertaking and I appreciate all the work the authors have put into it.

\n\n\n\n

But as a developer I have to throw out a word of caution that this plugin often has major bugs that can have critical impact on your production website. For example after a recent minor update we discovered a bug where any URL with a special character in it started returning a 404, causing several of our pages to suddenly become unavailable to users and delisted from Google, and this went on for many months before we realized it.

\n\n\n\n

There have been many similar instances. My general approach is to lean more on WordPress\'s REST API over time which is more reliable since it\'s maintained by the WordPress team, and only use WPGraphQL when it\'s necessary.

\n\n\n\n

Also recommend turning off auto-updates and test your website extremely thoroughly after any upgrade.

\n
\n
\n
\n
\n
\n
\n

Great! 10 stars if possible

\n
\n
\n
\n

\n By \'\'chisnghiax on September 7, 2022

\n
\n
\n
Great!
\n
\n
\n
\n
\n
\n

Great Plugin!

\n
\n
\n
\n

\n By \'\'2cubed on August 26, 2022

\n
\n
\n
One of the best plugins for WordPress. It\'s right up there with ACF!
\n
\n
\n
\n
\n
\n

Awesome, everybody should use it

\n
\n
\n
\n

\n By \'\'mauretto1978 on May 31, 2022

\n
\n
\n
Great plugin,\n\neveryone should use it. \n\nThe IDE is a valuable plus, and it can be used to learn GraphQL from scratch.\n\nFrom the developer\'s point of view, the plugin is super easy to extend, thanks to the great documentation.\n\nDon\'t forget to check the official YouTube channel.\n\nIf you need extra support for custom post types and metas, I just released v1.0.70 of my plugin ACPT with full support to WPGraphQL.\n\nThank you so much John!
\n
\n
\n
\n
\n
\n

Excellent tool and support

\n
\n
\n
\n

\n By \'\'Camilo (runonce) on April 25, 2022

\n
\n
\n
Great tool for getting data from your WP into your SPA.\n\nI had some trouble with a conflicting plugin (Post Types Order) that caused unexpted results when paginating my posts but the support provided by both Jason Bahl and David Levine was absolutely top notch and I managed to resolve the issue within hours.
\n
\n
\n
\n
\n
\n

Definitely Recommend

\n
\n
\n
\n

\n By \'\'turboloop on March 23, 2022

\n
\n
\n
Over a year ago I switched from using REST to this plugin. I mainly build Angular Apps using Apollo client. Works perfectly fine and increases development speed.
\n
\n
\n
\n
\n
\n

The Future

\n
\n
\n
\n

\n By \'\'scottyzen on December 3, 2021

\n
\n
\n
This plugin is a game-changer. Once you start using it you really get a feel of how powerful it is. Why anyone would choose REST API now sounds crazy to me.
\n
\n
\n
\n
\n
\n

Works great for Headless WordPress site with Gatsby

\n
\n
\n
\n

\n By \'\'Chris (ctack) on September 10, 2021

\n
\n
\n
Loving the ease of implementation for a headless WordPress site with a GatsbyJS front end
\n
\n\";}s:17:\"short_description\";s:136:\"WPGraphQL adds a flexible and powerful GraphQL API to WordPress, enabling efficient querying and interaction with your site's data.\";s:13:\"download_link\";s:53:\"https://downloads.wordpress.org/plugin/wp-graphql.zip\";s:14:\"upgrade_notice\";a:17:{s:5:\"2.0.0\";s:418:\"

BREAKING CHANGE UPDATE

\n\n

This is a major update that drops support for PHP versions below 7.4 and WordPress versions below 6.0.

\n\n

We've written more about the update here:

\n\n
    \n
  • https://www.wpgraphql.com/2024/12/16/wpgraphql-v2-0-is-coming-heres-what-you-need-to-know
  • \n
  • https://www.wpgraphql.com/2024/12/16/wpgraphql-v2-0-technical-update-breaking-changes
  • \n
\";s:6:\"1.32.0\";s:399:\"

In #3293 a bug was fixed in how the MediaDetails.file field resolves. The previous behavior was a bug, but might have been used as a feature. If you need the field to behave the same as it did prior to this bugfix, you can follow the instructions here to override the field's resolver to how it worked before.

\";s:6:\"1.30.0\";s:546:\"

This release includes a new feature to implement a SemVer-compliant update checker, which will prevent auto-updates for major releases that include breaking changes.

\n\n

It also exposes the EnqueuedAsset.group and EnqueuedScript.location fields to the schema. Additionally, it adds a WPGraphQL Extensions page to the WordPress admin.

\n\n

There are no known breaking changes in this release, however, we recommend testing on staging servers to ensure the changes don't negatively impact your projects.

\";s:6:\"1.28.0\";s:395:\"

This release contains an internal refactor for how the Type Registry is generated which should lead to significant performance improvements for most users.

\n\n

While there are no intentional breaking changes, because this change impacts every user we highly recommend testing this release thoroughly on staging servers to ensure the changes don't negatively impact your projects.

\";s:6:\"1.26.0\";s:439:\"

This release refactors some code in the AbstractConnectionResolver with an aim at making it more efficient and easier to extend. While we believe there are no breaking changes and have tested against popular extensions such as WPGraphQL Headless Login, WPGraphQL Gravity Forms, WPGraphQL Rank Math and others, we recommend running your own tests on a staging site to confirm that there are no regresssions caused by the refactoring.

\";s:6:\"1.25.0\";s:205:\"

This release includes a fix to a regression in the v1.24.0. Users impacted by the regression in 1.24.0 included, but are not necessarily limited to, users of the WPGraphQL for WooCommerce extension.

\";s:6:\"1.24.0\";s:750:\"

The AbstractConnectionResolver has undergone some refactoring. Some methods using snakeCase have been deprecated in favor of their camel_case equivalent. While we've preserved the deprecated methods to prevent breaking changes, you might begin seeing PHP notices about the deprecations. Any plugin that extends the AbstractConnectionResolver should update the following methods:

\n\n
    \n
  • getSource -> get_source
  • \n
  • getContext -> get_context
  • \n
  • getInfo -> get_info
  • \n
  • getShouldExecute -> get_should_execute
  • \n
  • getLoader -> getLoader
  • \n
\";s:6:\"1.16.0\";s:619:\"

WPGraphQL Smart Cache\nFor WPGraphQL Smart Cache users, you should update WPGraphQL Smart Cache to v1.2.0 when updating\nWPGraphQL to v1.16.0 to ensure caches continue to purge as expected.

\n\n

Cursor Pagination Updates\nThis version fixes some behaviors of Cursor Pagination which may lead to behavior changes in your application.

\n\n

As with any release, we recommend you test in staging environments. For this release, specifically any\nqueries you have using pagination arguments (first, last, after, before).

\";s:6:\"1.14.6\";s:328:\"

This release includes a security patch. It's recommended to update as soon as possible.

\n\n

If you're unable to update to the latest version, we have a snippet you can add to your site.

\n\n

You can read more about it here: https://github.com/wp-graphql/wp-graphql/security/advisories/GHSA-cfh4-7wq9-6pgg

\";s:6:\"1.13.0\";s:1273:\"

The ContentRevisionUnion Union has been removed, and the RootQuery.revisions and User.revisions connections that used to resolve to this Type now resolve to the ContentNode Interface type.

\n\n

This is technically a Schema Breaking change, however the behavior for most users querying these fields should remain the same.

\n\n

For example, this query worked before, and still works now:

\n\n
`graphql\n
\n\n

{\n viewer {\n revisions {\n nodes {\n __typename\n ... on Post {\n id\n uri\n isRevision\n }\n ... on Page {\n id\n uri\n isRevision\n }\n }\n }\n }\n revisions {\n nodes {\n __typename\n ... on Post {\n id\n uri\n isRevision\n }\n ... on Page {\n id\n uri\n isRevision\n }\n }\n }\n}\n `

\n\n

If you were using a fragment to reference: ...on UserToContentRevisionUnionConnection or ...on RootQueryToContentRevisionUnionConnection you would need to update those references to ...on UserToRevisionsConnection and ...on RootQueryToRevisionsConnection respectively.

\";s:6:\"1.12.0\";s:860:\"

This release removes the ContentNode and DatabaseIdentifier interfaces from the NodeWithFeaturedImage Interface.

\n\n

This is considered a breaking change for client applications using a ...on NodeWithFeaturedImage fragment that reference fields applied by those interfaces. If you have client applications doing this (or are unsure if you do) you can use the following filter to bring back the previous behavior:

\n\n
`php\n
\n\n

add_filter( 'graphql_wp_interface_type_config', function( $config ) {\n if ( $config['name'] === 'NodeWithFeaturedImage' ) {\n $config['interfaces'][] = 'ContentNode';\n $config['interfaces'][] = 'DatabaseIdentifier';\n }\n return $config;\n}, 10, 1 );\n `

\";s:6:\"1.10.0\";s:556:\"

PR (#2490) fixes a bug that some users were\nusing as a feature.

\n\n

When a page is marked as the "Posts Page" WordPress does not resolve that page by URI, and this\nbugfix no longer will resolve that page by URI.

\n\n

You can read more\nabout why this change was made and find a snippet of code that will bring the old functionality back\nif you've built features around it.

\";s:5:\"1.9.0\";s:1273:\"

There are 2 changes that might require action when updating to 1.9.0.

\n\n
    \n
  1. (#2464)
  2. \n
\n\n

When querying for a nodeByUri, if your site has the "page_for_posts" setting configured, the behavior of the nodeByUri query for that uri might be different for you.

\n\n

Previously a bug caused this query to return a "Page" type, when it should have returned a "ContentType" Type.

\n\n

The bug fix might change your application if you were using the bug as a feature.

\n\n
    \n
  1. (#2457)
  2. \n
\n\n

There were a lot of bug fixes related to connections to ensure they behave as intended. If you were querying lists of data, in some cases the data might be returned in a different order than it was before.

\n\n

For example, using the "last" input on a Comment or User query should still return the same nodes, but in a different order than before.

\n\n

This might cause behavior you don't want in your application because you had coded around the bug. This change was needed to support proper backward pagination.

\";s:5:\"1.6.7\";s:2028:\"

There's been a bugfix in the Post Model layer which might break existing behaviors.

\n\n

WordPress Post Type registry allows for a post_type to be registered as public (true or false)\nand publicly_queryable (true or false).

\n\n

WPGraphQL's Model Layer was allowing published content of any post_type to be exposed publicly. This\nchange better respects the public and publicly_queryable properties of post types better.

\n\n

Now, if a post_type is public=&gt;true, published content of that post_type can be queried by public\nWPGraphQL requests.

\n\n

If a post_type is set to public=&gt;false, then we fallback to the publicly_queryable property.\nIf a post_type is set to publicly_queryable =&gt; true, then published content of the Post Type can\nbe queried in WPGraphQL by public users.

\n\n

If both public=&gt;false and publicly_queryable is false or not defined, then the content of the\npost_type will only be accessible via authenticated queries by users with proper capabilities to\naccess the post_type.

\n\n

Possible Action: You might need to adjust your post_type registration to better reflect your intent.

\n\n
    \n
  • public=&gt;true: The entries in the post_type will be public in WPGraphQL and will have a public\nURI in WordPress.
  • \n
  • public=&gt;false, publicly_queryable=&gt;true: The entries in the post_type will be public in WPGraphQL,\nbut will not have individually respected URI from WordPress, and can not be queried by URI in WPGraphQL.
  • \n
  • public=&gt;false,publicly_queryable=&gt;false: The entries in the post_type will only be accessible in\nWPGraphQL by authenticated requests for users with proper capabilities to interact with the post_type.
  • \n
\";s:5:\"1.5.0\";s:157:\"

The MenuItem.path field was changed from non-null to nullable and some clients may need to make adjustments to support this.

\";s:5:\"1.4.0\";s:211:\"

The uri field was non-null on some Types in the Schema but has been changed to be nullable on all types that have it. This might require clients to update code to expect possible null values.

\";s:5:\"1.2.0\";s:179:\"

Composer dependencies are no longer versioned in Github. Recommended install source is WordPress.org or using Composer to get the code from Packagist.org or WPackagist.org.

\";}s:11:\"screenshots\";a:2:{i:1;a:2:{s:3:\"src\";s:63:\"https://ps.w.org/wp-graphql/assets/screenshot-1.jpg?rev=2482884\";s:7:\"caption\";s:0:\"\";}i:2;a:2:{s:3:\"src\";s:63:\"https://ps.w.org/wp-graphql/assets/screenshot-2.jpg?rev=2482884\";s:7:\"caption\";s:0:\"\";}}s:4:\"tags\";a:5:{s:9:\"decoupled\";s:9:\"decoupled\";s:7:\"graphql\";s:7:\"GraphQL\";s:8:\"headless\";s:8:\"headless\";s:5:\"react\";s:5:\"react\";s:8:\"rest-api\";s:8:\"rest-api\";}s:8:\"versions\";a:140:{s:8:\"0.1.14.1\";s:62:\"https://downloads.wordpress.org/plugin/wp-graphql.0.1.14.1.zip\";s:6:\"0.15.4\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.0.15.4.zip\";s:6:\"0.15.5\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.0.15.5.zip\";s:6:\"0.15.6\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.0.15.6.zip\";s:3:\"1.0\";s:57:\"https://downloads.wordpress.org/plugin/wp-graphql.1.0.zip\";s:5:\"1.0.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.0.1.zip\";s:5:\"1.0.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.0.2.zip\";s:5:\"1.0.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.0.3.zip\";s:5:\"1.0.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.0.4.zip\";s:5:\"1.0.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.0.5.zip\";s:5:\"1.1.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.0.zip\";s:5:\"1.1.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.1.zip\";s:5:\"1.1.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.2.zip\";s:5:\"1.1.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.3.zip\";s:5:\"1.1.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.4.zip\";s:5:\"1.1.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.5.zip\";s:5:\"1.1.6\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.6.zip\";s:5:\"1.1.7\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.7.zip\";s:5:\"1.1.8\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.8.zip\";s:7:\"1.1.8.0\";s:61:\"https://downloads.wordpress.org/plugin/wp-graphql.1.1.8.0.zip\";s:6:\"1.10.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.10.0.zip\";s:6:\"1.11.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.11.0.zip\";s:6:\"1.11.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.11.1.zip\";s:6:\"1.11.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.11.2.zip\";s:6:\"1.11.3\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.11.3.zip\";s:6:\"1.12.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.12.0.zip\";s:6:\"1.12.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.12.1.zip\";s:6:\"1.12.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.12.2.zip\";s:6:\"1.12.3\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.12.3.zip\";s:6:\"1.13.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.0.zip\";s:6:\"1.13.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.1.zip\";s:7:\"1.13.10\";s:61:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.10.zip\";s:6:\"1.13.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.2.zip\";s:6:\"1.13.4\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.4.zip\";s:6:\"1.13.5\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.5.zip\";s:6:\"1.13.6\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.6.zip\";s:6:\"1.13.7\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.7.zip\";s:6:\"1.13.8\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.8.zip\";s:6:\"1.13.9\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.13.9.zip\";s:6:\"1.14.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.0.zip\";s:7:\"1.14.10\";s:61:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.10.zip\";s:6:\"1.14.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.2.zip\";s:6:\"1.14.3\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.3.zip\";s:6:\"1.14.4\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.4.zip\";s:6:\"1.14.5\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.5.zip\";s:6:\"1.14.6\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.6.zip\";s:6:\"1.14.7\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.7.zip\";s:6:\"1.14.8\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.8.zip\";s:6:\"1.14.9\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.14.9.zip\";s:6:\"1.15.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.15.0.zip\";s:6:\"1.16.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.16.0.zip\";s:6:\"1.17.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.17.0.zip\";s:6:\"1.18.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.18.1.zip\";s:6:\"1.18.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.18.2.zip\";s:6:\"1.19.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.19.0.zip\";s:5:\"1.2.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.0.zip\";s:5:\"1.2.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.1.zip\";s:5:\"1.2.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.2.zip\";s:5:\"1.2.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.3.zip\";s:5:\"1.2.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.4.zip\";s:5:\"1.2.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.5.zip\";s:5:\"1.2.6\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.2.6.zip\";s:6:\"1.20.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.20.0.zip\";s:6:\"1.21.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.21.0.zip\";s:6:\"1.22.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.22.0.zip\";s:6:\"1.22.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.22.1.zip\";s:6:\"1.23.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.23.0.zip\";s:6:\"1.24.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.24.0.zip\";s:6:\"1.25.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.25.0.zip\";s:6:\"1.26.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.26.0.zip\";s:6:\"1.27.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.27.0.zip\";s:6:\"1.27.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.27.1.zip\";s:6:\"1.27.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.27.2.zip\";s:6:\"1.28.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.28.0.zip\";s:6:\"1.28.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.28.1.zip\";s:6:\"1.29.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.29.0.zip\";s:6:\"1.29.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.29.1.zip\";s:6:\"1.29.2\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.29.2.zip\";s:6:\"1.29.3\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.29.3.zip\";s:5:\"1.3.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.0.zip\";s:5:\"1.3.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.1.zip\";s:6:\"1.3.10\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.10.zip\";s:5:\"1.3.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.2.zip\";s:5:\"1.3.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.3.zip\";s:5:\"1.3.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.4.zip\";s:5:\"1.3.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.5.zip\";s:5:\"1.3.6\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.6.zip\";s:5:\"1.3.7\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.7.zip\";s:5:\"1.3.8\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.8.zip\";s:5:\"1.3.9\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.3.9.zip\";s:6:\"1.30.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.30.0.zip\";s:6:\"1.31.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.31.0.zip\";s:6:\"1.31.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.31.1.zip\";s:6:\"1.32.0\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.32.0.zip\";s:6:\"1.32.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.32.1.zip\";s:5:\"1.4.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.4.0.zip\";s:5:\"1.4.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.4.1.zip\";s:5:\"1.4.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.4.2.zip\";s:5:\"1.4.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.4.3.zip\";s:5:\"1.5.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.0.zip\";s:5:\"1.5.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.1.zip\";s:5:\"1.5.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.2.zip\";s:5:\"1.5.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.3.zip\";s:5:\"1.5.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.4.zip\";s:5:\"1.5.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.5.zip\";s:5:\"1.5.6\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.6.zip\";s:5:\"1.5.7\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.7.zip\";s:5:\"1.5.8\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.8.zip\";s:5:\"1.5.9\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.5.9.zip\";s:5:\"1.6.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.0.zip\";s:5:\"1.6.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.1.zip\";s:6:\"1.6.10\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.10.zip\";s:6:\"1.6.11\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.11.zip\";s:6:\"1.6.12\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.12.zip\";s:5:\"1.6.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.2.zip\";s:5:\"1.6.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.3.zip\";s:5:\"1.6.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.4.zip\";s:5:\"1.6.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.5.zip\";s:5:\"1.6.6\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.6.zip\";s:5:\"1.6.7\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.7.zip\";s:5:\"1.6.8\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.8.zip\";s:5:\"1.6.9\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.6.9.zip\";s:5:\"1.7.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.7.0.zip\";s:5:\"1.7.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.7.1.zip\";s:5:\"1.7.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.7.2.zip\";s:5:\"1.8.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.0.zip\";s:5:\"1.8.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.1.zip\";s:5:\"1.8.2\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.2.zip\";s:5:\"1.8.3\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.3.zip\";s:5:\"1.8.4\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.4.zip\";s:5:\"1.8.5\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.5.zip\";s:5:\"1.8.6\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.6.zip\";s:5:\"1.8.7\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.8.7.zip\";s:5:\"1.9.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.9.0.zip\";s:5:\"1.9.1\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.1.9.1.zip\";s:5:\"2.0.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.2.0.0.zip\";s:12:\"2.0.0-beta.2\";s:66:\"https://downloads.wordpress.org/plugin/wp-graphql.2.0.0-beta.2.zip\";s:5:\"2.1.0\";s:59:\"https://downloads.wordpress.org/plugin/wp-graphql.2.1.0.zip\";s:5:\"trunk\";s:53:\"https://downloads.wordpress.org/plugin/wp-graphql.zip\";s:6:\"v2.1.1\";s:60:\"https://downloads.wordpress.org/plugin/wp-graphql.v2.1.1.zip\";}s:14:\"business_model\";s:9:\"community\";s:14:\"repository_url\";s:40:\"https://github.com/wp-graphql/wp-graphql\";s:22:\"commercial_support_url\";s:0:\"\";s:11:\"donate_link\";s:0:\"\";s:7:\"banners\";a:2:{s:3:\"low\";s:65:\"https://ps.w.org/wp-graphql/assets/banner-772x250.png?rev=3111985\";s:4:\"high\";s:66:\"https://ps.w.org/wp-graphql/assets/banner-1544x500.png?rev=3111985\";}s:5:\"icons\";a:2:{s:2:\"1x\";s:63:\"https://ps.w.org/wp-graphql/assets/icon-128x128.png?rev=3111985\";s:2:\"2x\";s:63:\"https://ps.w.org/wp-graphql/assets/icon-256x256.png?rev=3111985\";}s:12:\"preview_link\";s:51:\"https://wordpress.org/plugins/wp-graphql/?preview=1\";s:4:\"Name\";s:9:\"WPGraphQL\";}}','off'),(151,'recently_activated','a:1:{s:41:\"wordpress-importer/wordpress-importer.php\";i:1743163479;}','off'),(152,'_site_transient_timeout_poptags_40cd750bba9870f18aada2478b24840a','1743169314','off'),(153,'_site_transient_poptags_40cd750bba9870f18aada2478b24840a','O:8:\"stdClass\":100:{s:11:\"woocommerce\";a:3:{s:4:\"name\";s:11:\"woocommerce\";s:4:\"slug\";s:11:\"woocommerce\";s:5:\"count\";i:6924;}s:6:\"widget\";a:3:{s:4:\"name\";s:6:\"widget\";s:4:\"slug\";s:6:\"widget\";s:5:\"count\";i:4878;}s:4:\"post\";a:3:{s:4:\"name\";s:4:\"post\";s:4:\"slug\";s:4:\"post\";s:5:\"count\";i:2797;}s:5:\"admin\";a:3:{s:4:\"name\";s:5:\"admin\";s:4:\"slug\";s:5:\"admin\";s:5:\"count\";i:2696;}s:5:\"posts\";a:3:{s:4:\"name\";s:5:\"posts\";s:4:\"slug\";s:5:\"posts\";s:5:\"count\";i:2108;}s:9:\"shortcode\";a:3:{s:4:\"name\";s:9:\"shortcode\";s:4:\"slug\";s:9:\"shortcode\";s:5:\"count\";i:2020;}s:8:\"comments\";a:3:{s:4:\"name\";s:8:\"comments\";s:4:\"slug\";s:8:\"comments\";s:5:\"count\";i:1946;}s:3:\"seo\";a:3:{s:4:\"name\";s:3:\"seo\";s:4:\"slug\";s:3:\"seo\";s:5:\"count\";i:1853;}s:6:\"images\";a:3:{s:4:\"name\";s:6:\"images\";s:4:\"slug\";s:6:\"images\";s:5:\"count\";i:1599;}s:5:\"image\";a:3:{s:4:\"name\";s:5:\"image\";s:4:\"slug\";s:5:\"image\";s:5:\"count\";i:1597;}s:9:\"ecommerce\";a:3:{s:4:\"name\";s:9:\"ecommerce\";s:4:\"slug\";s:9:\"ecommerce\";s:5:\"count\";i:1589;}s:6:\"google\";a:3:{s:4:\"name\";s:6:\"google\";s:4:\"slug\";s:6:\"google\";s:5:\"count\";i:1549;}s:7:\"twitter\";a:3:{s:4:\"name\";s:7:\"twitter\";s:4:\"slug\";s:7:\"twitter\";s:5:\"count\";i:1512;}s:8:\"facebook\";a:3:{s:4:\"name\";s:8:\"facebook\";s:4:\"slug\";s:8:\"facebook\";s:5:\"count\";i:1507;}s:5:\"email\";a:3:{s:4:\"name\";s:5:\"email\";s:4:\"slug\";s:5:\"email\";s:5:\"count\";i:1459;}s:7:\"gallery\";a:3:{s:4:\"name\";s:7:\"gallery\";s:4:\"slug\";s:7:\"gallery\";s:5:\"count\";i:1325;}s:7:\"sidebar\";a:3:{s:4:\"name\";s:7:\"sidebar\";s:4:\"slug\";s:7:\"sidebar\";s:5:\"count\";i:1317;}s:5:\"login\";a:3:{s:4:\"name\";s:5:\"login\";s:4:\"slug\";s:5:\"login\";s:5:\"count\";i:1207;}s:8:\"security\";a:3:{s:4:\"name\";s:8:\"security\";s:4:\"slug\";s:8:\"security\";s:5:\"count\";i:1203;}s:6:\"social\";a:3:{s:4:\"name\";s:6:\"social\";s:4:\"slug\";s:6:\"social\";s:5:\"count\";i:1174;}s:4:\"page\";a:3:{s:4:\"name\";s:4:\"page\";s:4:\"slug\";s:4:\"page\";s:5:\"count\";i:1158;}s:10:\"e-commerce\";a:3:{s:4:\"name\";s:10:\"e-commerce\";s:4:\"slug\";s:10:\"e-commerce\";s:5:\"count\";i:1038;}s:5:\"video\";a:3:{s:4:\"name\";s:5:\"video\";s:4:\"slug\";s:5:\"video\";s:5:\"count\";i:1035;}s:7:\"payment\";a:3:{s:4:\"name\";s:7:\"payment\";s:4:\"slug\";s:7:\"payment\";s:5:\"count\";i:1016;}s:7:\"widgets\";a:3:{s:4:\"name\";s:7:\"widgets\";s:4:\"slug\";s:7:\"widgets\";s:5:\"count\";i:999;}s:5:\"block\";a:3:{s:4:\"name\";s:5:\"block\";s:4:\"slug\";s:5:\"block\";s:5:\"count\";i:990;}s:9:\"analytics\";a:3:{s:4:\"name\";s:9:\"analytics\";s:4:\"slug\";s:9:\"analytics\";s:5:\"count\";i:978;}s:9:\"gutenberg\";a:3:{s:4:\"name\";s:9:\"gutenberg\";s:4:\"slug\";s:9:\"gutenberg\";s:5:\"count\";i:951;}s:5:\"links\";a:3:{s:4:\"name\";s:5:\"links\";s:4:\"slug\";s:5:\"links\";s:5:\"count\";i:917;}s:6:\"slider\";a:3:{s:4:\"name\";s:6:\"slider\";s:4:\"slug\";s:6:\"slider\";s:5:\"count\";i:915;}s:7:\"content\";a:3:{s:4:\"name\";s:7:\"content\";s:4:\"slug\";s:7:\"content\";s:5:\"count\";i:913;}s:4:\"spam\";a:3:{s:4:\"name\";s:4:\"spam\";s:4:\"slug\";s:4:\"spam\";s:5:\"count\";i:906;}s:4:\"form\";a:3:{s:4:\"name\";s:4:\"form\";s:4:\"slug\";s:4:\"form\";s:5:\"count\";i:895;}s:15:\"payment-gateway\";a:3:{s:4:\"name\";s:15:\"payment gateway\";s:4:\"slug\";s:15:\"payment-gateway\";s:5:\"count\";i:886;}s:9:\"elementor\";a:3:{s:4:\"name\";s:9:\"elementor\";s:4:\"slug\";s:9:\"elementor\";s:5:\"count\";i:876;}s:5:\"media\";a:3:{s:4:\"name\";s:5:\"media\";s:4:\"slug\";s:5:\"media\";s:5:\"count\";i:829;}s:6:\"search\";a:3:{s:4:\"name\";s:6:\"search\";s:4:\"slug\";s:6:\"search\";s:5:\"count\";i:822;}s:6:\"editor\";a:3:{s:4:\"name\";s:6:\"editor\";s:4:\"slug\";s:6:\"editor\";s:5:\"count\";i:797;}s:10:\"buddypress\";a:3:{s:4:\"name\";s:10:\"buddypress\";s:4:\"slug\";s:10:\"buddypress\";s:5:\"count\";i:782;}s:4:\"menu\";a:3:{s:4:\"name\";s:4:\"menu\";s:4:\"slug\";s:4:\"menu\";s:5:\"count\";i:762;}s:12:\"contact-form\";a:3:{s:4:\"name\";s:12:\"contact form\";s:4:\"slug\";s:12:\"contact-form\";s:5:\"count\";i:760;}s:3:\"rss\";a:3:{s:4:\"name\";s:3:\"rss\";s:4:\"slug\";s:3:\"rss\";s:5:\"count\";i:756;}s:5:\"pages\";a:3:{s:4:\"name\";s:5:\"pages\";s:4:\"slug\";s:5:\"pages\";s:5:\"count\";i:745;}s:5:\"embed\";a:3:{s:4:\"name\";s:5:\"embed\";s:4:\"slug\";s:5:\"embed\";s:5:\"count\";i:730;}s:4:\"feed\";a:3:{s:4:\"name\";s:4:\"feed\";s:4:\"slug\";s:4:\"feed\";s:5:\"count\";i:708;}s:8:\"category\";a:3:{s:4:\"name\";s:8:\"category\";s:4:\"slug\";s:8:\"category\";s:5:\"count\";i:705;}s:4:\"ajax\";a:3:{s:4:\"name\";s:4:\"ajax\";s:4:\"slug\";s:4:\"ajax\";s:5:\"count\";i:674;}s:7:\"youtube\";a:3:{s:4:\"name\";s:7:\"youtube\";s:4:\"slug\";s:7:\"youtube\";s:5:\"count\";i:665;}s:6:\"jquery\";a:3:{s:4:\"name\";s:6:\"jquery\";s:4:\"slug\";s:6:\"jquery\";s:5:\"count\";i:664;}s:3:\"api\";a:3:{s:4:\"name\";s:3:\"api\";s:4:\"slug\";s:3:\"api\";s:5:\"count\";i:650;}s:9:\"affiliate\";a:3:{s:4:\"name\";s:9:\"affiliate\";s:4:\"slug\";s:9:\"affiliate\";s:5:\"count\";i:645;}s:3:\"css\";a:3:{s:4:\"name\";s:3:\"css\";s:4:\"slug\";s:3:\"css\";s:5:\"count\";i:632;}s:8:\"shipping\";a:3:{s:4:\"name\";s:8:\"shipping\";s:4:\"slug\";s:8:\"shipping\";s:5:\"count\";i:626;}s:9:\"marketing\";a:3:{s:4:\"name\";s:9:\"marketing\";s:4:\"slug\";s:9:\"marketing\";s:5:\"count\";i:622;}s:4:\"chat\";a:3:{s:4:\"name\";s:4:\"chat\";s:4:\"slug\";s:4:\"chat\";s:5:\"count\";i:618;}s:4:\"link\";a:3:{s:4:\"name\";s:4:\"link\";s:4:\"slug\";s:4:\"link\";s:5:\"count\";i:616;}s:10:\"javascript\";a:3:{s:4:\"name\";s:10:\"javascript\";s:4:\"slug\";s:10:\"javascript\";s:5:\"count\";i:614;}s:9:\"dashboard\";a:3:{s:4:\"name\";s:9:\"dashboard\";s:4:\"slug\";s:9:\"dashboard\";s:5:\"count\";i:613;}s:10:\"responsive\";a:3:{s:4:\"name\";s:10:\"responsive\";s:4:\"slug\";s:10:\"responsive\";s:5:\"count\";i:609;}s:5:\"share\";a:3:{s:4:\"name\";s:5:\"share\";s:4:\"slug\";s:5:\"share\";s:5:\"count\";i:606;}s:11:\"performance\";a:3:{s:4:\"name\";s:11:\"performance\";s:4:\"slug\";s:11:\"performance\";s:5:\"count\";i:605;}s:14:\"contact-form-7\";a:3:{s:4:\"name\";s:14:\"contact form 7\";s:4:\"slug\";s:14:\"contact-form-7\";s:5:\"count\";i:597;}s:7:\"contact\";a:3:{s:4:\"name\";s:7:\"contact\";s:4:\"slug\";s:7:\"contact\";s:5:\"count\";i:595;}s:3:\"ads\";a:3:{s:4:\"name\";s:3:\"ads\";s:4:\"slug\";s:3:\"ads\";s:5:\"count\";i:586;}s:6:\"events\";a:3:{s:4:\"name\";s:6:\"events\";s:4:\"slug\";s:6:\"events\";s:5:\"count\";i:584;}s:7:\"comment\";a:3:{s:4:\"name\";s:7:\"comment\";s:4:\"slug\";s:7:\"comment\";s:5:\"count\";i:578;}s:6:\"custom\";a:3:{s:4:\"name\";s:6:\"custom\";s:4:\"slug\";s:6:\"custom\";s:5:\"count\";i:574;}s:5:\"forms\";a:3:{s:4:\"name\";s:5:\"forms\";s:4:\"slug\";s:5:\"forms\";s:5:\"count\";i:572;}s:5:\"theme\";a:3:{s:4:\"name\";s:5:\"theme\";s:4:\"slug\";s:5:\"theme\";s:5:\"count\";i:572;}s:6:\"blocks\";a:3:{s:4:\"name\";s:6:\"blocks\";s:4:\"slug\";s:6:\"blocks\";s:5:\"count\";i:560;}s:10:\"categories\";a:3:{s:4:\"name\";s:10:\"categories\";s:4:\"slug\";s:10:\"categories\";s:5:\"count\";i:558;}s:5:\"popup\";a:3:{s:4:\"name\";s:5:\"popup\";s:4:\"slug\";s:5:\"popup\";s:5:\"count\";i:550;}s:6:\"button\";a:3:{s:4:\"name\";s:6:\"button\";s:4:\"slug\";s:6:\"button\";s:5:\"count\";i:545;}s:8:\"calendar\";a:3:{s:4:\"name\";s:8:\"calendar\";s:4:\"slug\";s:8:\"calendar\";s:5:\"count\";i:540;}s:4:\"user\";a:3:{s:4:\"name\";s:4:\"user\";s:4:\"slug\";s:4:\"user\";s:5:\"count\";i:530;}s:8:\"payments\";a:3:{s:4:\"name\";s:8:\"payments\";s:4:\"slug\";s:8:\"payments\";s:5:\"count\";i:524;}s:5:\"users\";a:3:{s:4:\"name\";s:5:\"users\";s:4:\"slug\";s:5:\"users\";s:5:\"count\";i:522;}s:4:\"tags\";a:3:{s:4:\"name\";s:4:\"tags\";s:4:\"slug\";s:4:\"tags\";s:5:\"count\";i:520;}s:10:\"newsletter\";a:3:{s:4:\"name\";s:10:\"newsletter\";s:4:\"slug\";s:10:\"newsletter\";s:5:\"count\";i:508;}s:6:\"mobile\";a:3:{s:4:\"name\";s:6:\"mobile\";s:4:\"slug\";s:6:\"mobile\";s:5:\"count\";i:504;}s:10:\"navigation\";a:3:{s:4:\"name\";s:10:\"navigation\";s:4:\"slug\";s:10:\"navigation\";s:5:\"count\";i:498;}s:12:\"social-media\";a:3:{s:4:\"name\";s:12:\"social media\";s:4:\"slug\";s:12:\"social-media\";s:5:\"count\";i:481;}s:8:\"tracking\";a:3:{s:4:\"name\";s:8:\"tracking\";s:4:\"slug\";s:8:\"tracking\";s:5:\"count\";i:468;}s:5:\"stats\";a:3:{s:4:\"name\";s:5:\"stats\";s:4:\"slug\";s:5:\"stats\";s:5:\"count\";i:467;}s:8:\"checkout\";a:3:{s:4:\"name\";s:8:\"checkout\";s:4:\"slug\";s:8:\"checkout\";s:5:\"count\";i:461;}s:12:\"notification\";a:3:{s:4:\"name\";s:12:\"notification\";s:4:\"slug\";s:12:\"notification\";s:5:\"count\";i:459;}s:7:\"gateway\";a:3:{s:4:\"name\";s:7:\"gateway\";s:4:\"slug\";s:7:\"gateway\";s:5:\"count\";i:459;}s:10:\"statistics\";a:3:{s:4:\"name\";s:10:\"statistics\";s:4:\"slug\";s:10:\"statistics\";s:5:\"count\";i:455;}s:5:\"photo\";a:3:{s:4:\"name\";s:5:\"photo\";s:4:\"slug\";s:5:\"photo\";s:5:\"count\";i:454;}s:9:\"slideshow\";a:3:{s:4:\"name\";s:9:\"slideshow\";s:4:\"slug\";s:9:\"slideshow\";s:5:\"count\";i:452;}s:8:\"redirect\";a:3:{s:4:\"name\";s:8:\"redirect\";s:4:\"slug\";s:8:\"redirect\";s:5:\"count\";i:448;}s:6:\"import\";a:3:{s:4:\"name\";s:6:\"import\";s:4:\"slug\";s:6:\"import\";s:5:\"count\";i:447;}s:2:\"ai\";a:3:{s:4:\"name\";s:2:\"AI\";s:4:\"slug\";s:2:\"ai\";s:5:\"count\";i:440;}s:4:\"news\";a:3:{s:4:\"name\";s:4:\"news\";s:4:\"slug\";s:4:\"news\";s:5:\"count\";i:432;}s:6:\"photos\";a:3:{s:4:\"name\";s:6:\"photos\";s:4:\"slug\";s:6:\"photos\";s:5:\"count\";i:429;}s:5:\"cache\";a:3:{s:4:\"name\";s:5:\"cache\";s:4:\"slug\";s:5:\"cache\";s:5:\"count\";i:422;}s:10:\"shortcodes\";a:3:{s:4:\"name\";s:10:\"shortcodes\";s:4:\"slug\";s:10:\"shortcodes\";s:5:\"count\";i:420;}s:4:\"code\";a:3:{s:4:\"name\";s:4:\"code\";s:4:\"slug\";s:4:\"code\";s:5:\"count\";i:418;}s:7:\"plugins\";a:3:{s:4:\"name\";s:7:\"plugins\";s:4:\"slug\";s:7:\"plugins\";s:5:\"count\";i:408;}s:9:\"multisite\";a:3:{s:4:\"name\";s:9:\"multisite\";s:4:\"slug\";s:9:\"multisite\";s:5:\"count\";i:402;}}','off'),(162,'finished_updating_comment_type','1','auto'),(167,'_site_transient_timeout_wp_plugin_dependencies_plugin_timeout_wp-graphql','1743201759','off'),(168,'_site_transient_wp_plugin_dependencies_plugin_timeout_wp-graphql','1','off'),(169,'wp_graphql_version','2.1.1','auto'),(170,'graphql_general_settings','','auto'),(171,'acf_first_activated_version','6.3.12','on'),(172,'acf_site_health','{\"version\":\"6.3.12\",\"plugin_type\":\"Free\",\"update_source\":\"wordpress.org\",\"wp_version\":\"6.7.2\",\"mysql_version\":\"8.0.35\",\"is_multisite\":false,\"active_theme\":{\"name\":\"Twenty Twenty-Five\",\"version\":\"1.0\",\"theme_uri\":\"https:\\/\\/wordpress.org\\/themes\\/twentytwentyfive\\/\",\"stylesheet\":false},\"active_plugins\":{\"advanced-custom-fields\\/acf.php\":{\"name\":\"Advanced Custom Fields\",\"version\":\"6.3.12\",\"plugin_uri\":\"https:\\/\\/www.advancedcustomfields.com\"},\"hwpt-wpgraphql-sitemap\\/hwpt-wpgraphql-sitemap.php\":{\"name\":\"HWPT WPGraphQL Sitemap\",\"version\":\"1.0.0\",\"plugin_uri\":\"\"},\"wp-graphql\\/wp-graphql.php\":{\"name\":\"WPGraphQL\",\"version\":\"2.1.1\",\"plugin_uri\":\"https:\\/\\/github.com\\/wp-graphql\\/wp-graphql\"}},\"ui_field_groups\":\"0\",\"php_field_groups\":\"0\",\"json_field_groups\":\"0\",\"rest_field_groups\":\"0\",\"number_of_fields_by_type\":[],\"number_of_third_party_fields_by_type\":[],\"post_types_enabled\":true,\"ui_post_types\":\"3\",\"json_post_types\":\"0\",\"ui_taxonomies\":\"3\",\"json_taxonomies\":\"0\",\"rest_api_format\":\"light\",\"admin_ui_enabled\":true,\"field_type-modal_enabled\":true,\"field_settings_tabs_enabled\":false,\"shortcode_enabled\":false,\"registered_acf_forms\":\"0\",\"json_save_paths\":1,\"json_load_paths\":1,\"event_first_activated\":1743158563,\"last_updated\":1743159955,\"event_first_created_post_type\":1743159900,\"event_first_created_taxonomy\":1743159955}','off'),(174,'acf_version','6.3.12','auto'),(175,'wp-graphql_allow_tracking','no','auto'),(177,'wp-graphql_tracking_skipped','yes','auto'),(178,'wpgraphql-acf_allow_tracking','no','auto'),(180,'wpgraphql-acf_tracking_skipped','yes','auto'),(181,'_site_transient_timeout_popular_importers_968d0fadeded9636c5b63190aaec278f','1743332479','off'),(182,'_site_transient_popular_importers_968d0fadeded9636c5b63190aaec278f','a:2:{s:9:\"importers\";a:7:{s:7:\"blogger\";a:4:{s:4:\"name\";s:7:\"Blogger\";s:11:\"description\";s:54:\"Import posts, comments, and users from a Blogger blog.\";s:11:\"plugin-slug\";s:16:\"blogger-importer\";s:11:\"importer-id\";s:7:\"blogger\";}s:9:\"wpcat2tag\";a:4:{s:4:\"name\";s:29:\"Categories and Tags Converter\";s:11:\"description\";s:71:\"Convert existing categories to tags or tags to categories, selectively.\";s:11:\"plugin-slug\";s:18:\"wpcat2tag-importer\";s:11:\"importer-id\";s:10:\"wp-cat2tag\";}s:11:\"livejournal\";a:4:{s:4:\"name\";s:11:\"LiveJournal\";s:11:\"description\";s:46:\"Import posts from LiveJournal using their API.\";s:11:\"plugin-slug\";s:20:\"livejournal-importer\";s:11:\"importer-id\";s:11:\"livejournal\";}s:11:\"movabletype\";a:4:{s:4:\"name\";s:24:\"Movable Type and TypePad\";s:11:\"description\";s:62:\"Import posts and comments from a Movable Type or TypePad blog.\";s:11:\"plugin-slug\";s:20:\"movabletype-importer\";s:11:\"importer-id\";s:2:\"mt\";}s:3:\"rss\";a:4:{s:4:\"name\";s:3:\"RSS\";s:11:\"description\";s:30:\"Import posts from an RSS feed.\";s:11:\"plugin-slug\";s:12:\"rss-importer\";s:11:\"importer-id\";s:3:\"rss\";}s:6:\"tumblr\";a:4:{s:4:\"name\";s:6:\"Tumblr\";s:11:\"description\";s:53:\"Import posts & media from Tumblr using their API.\";s:11:\"plugin-slug\";s:15:\"tumblr-importer\";s:11:\"importer-id\";s:6:\"tumblr\";}s:9:\"wordpress\";a:4:{s:4:\"name\";s:9:\"WordPress\";s:11:\"description\";s:96:\"Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.\";s:11:\"plugin-slug\";s:18:\"wordpress-importer\";s:11:\"importer-id\";s:9:\"wordpress\";}}s:10:\"translated\";b:0;}','off'),(185,'wp_calendar_block_has_published_posts','1','auto'),(187,'theme_mods_twentytwentyfive','a:1:{s:18:\"custom_css_post_id\";i:-1;}','auto'),(188,'_transient_wp_styles_for_blocks','a:2:{s:4:\"hash\";s:32:\"6a64f06d5174183821b9e5e1b0e89c36\";s:6:\"blocks\";a:52:{s:11:\"core/button\";s:0:\"\";s:14:\"core/site-logo\";s:0:\"\";s:18:\"core/post-template\";s:0:\"\";s:12:\"core/columns\";s:769:\":root :where(.wp-block-columns-is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.wp-block-columns-is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-flow) > *{margin-block-start: var(--wp--preset--spacing--50);margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.wp-block-columns-is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-constrained) > *{margin-block-start: var(--wp--preset--spacing--50);margin-block-end: 0;}:root :where(.wp-block-columns-is-layout-flex){gap: var(--wp--preset--spacing--50);}:root :where(.wp-block-columns-is-layout-grid){gap: var(--wp--preset--spacing--50);}\";s:14:\"core/pullquote\";s:306:\":root :where(.wp-block-pullquote){font-size: var(--wp--preset--font-size--xx-large);font-weight: 300;line-height: 1.2;padding-top: var(--wp--preset--spacing--30);padding-bottom: var(--wp--preset--spacing--30);}:root :where(.wp-block-pullquote p:last-of-type){margin-bottom: var(--wp--preset--spacing--30);}\";s:32:\"c48738dcb285a3f6ab83acff204fc486\";s:106:\":root :where(.wp-block-pullquote cite){font-size: var(--wp--preset--font-size--small);font-style: normal;}\";s:11:\"core/avatar\";s:57:\":root :where(.wp-block-avatar img){border-radius: 100px;}\";s:12:\"core/buttons\";s:665:\":root :where(.wp-block-buttons-is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.wp-block-buttons-is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-flow) > *{margin-block-start: 16px;margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > *{margin-block-start: 16px;margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-flex){gap: 16px;}:root :where(.wp-block-buttons-is-layout-grid){gap: 16px;}\";s:9:\"core/code\";s:427:\":root :where(.wp-block-code){background-color: var(--wp--preset--color--accent-5);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--fira-code);font-size: var(--wp--preset--font-size--medium);font-weight: 300;padding-top: var(--wp--preset--spacing--40);padding-right: var(--wp--preset--spacing--40);padding-bottom: var(--wp--preset--spacing--40);padding-left: var(--wp--preset--spacing--40);}\";s:24:\"core/comment-author-name\";s:169:\":root :where(.wp-block-comment-author-name){color: var(--wp--preset--color--accent-4);font-size: var(--wp--preset--font-size--small);margin-top: 5px;margin-bottom: 0px;}\";s:32:\"c0002c260f8238c4212f3e4c369fc4f7\";s:143:\":root :where(.wp-block-comment-author-name a:where(:not(.wp-element-button))){color: var(--wp--preset--color--accent-4);text-decoration: none;}\";s:32:\"1e7c38b45537b325dbbbaec17a301676\";s:112:\":root :where(.wp-block-comment-author-name a:where(:not(.wp-element-button)):hover){text-decoration: underline;}\";s:20:\"core/comment-content\";s:178:\":root :where(.wp-block-comment-content){font-size: var(--wp--preset--font-size--medium);margin-top: var(--wp--preset--spacing--30);margin-bottom: var(--wp--preset--spacing--30);}\";s:17:\"core/comment-date\";s:127:\":root :where(.wp-block-comment-date){color: var(--wp--preset--color--contrast);font-size: var(--wp--preset--font-size--small);}\";s:32:\"c83ca7b3e52884c70f7830c54f99b318\";s:114:\":root :where(.wp-block-comment-date a:where(:not(.wp-element-button))){color: var(--wp--preset--color--contrast);}\";s:22:\"core/comment-edit-link\";s:90:\":root :where(.wp-block-comment-edit-link){font-size: var(--wp--preset--font-size--small);}\";s:32:\"41d70710612536a90e368c12bcb0efea\";s:119:\":root :where(.wp-block-comment-edit-link a:where(:not(.wp-element-button))){color: var(--wp--preset--color--contrast);}\";s:23:\"core/comment-reply-link\";s:91:\":root :where(.wp-block-comment-reply-link){font-size: var(--wp--preset--font-size--small);}\";s:32:\"13c96340dbf37700add1f4c5cae19f3e\";s:120:\":root :where(.wp-block-comment-reply-link a:where(:not(.wp-element-button))){color: var(--wp--preset--color--contrast);}\";s:23:\"core/post-comments-form\";s:565:\":root :where(.wp-block-post-comments-form){font-size: var(--wp--preset--font-size--medium);padding-top: var(--wp--preset--spacing--40);padding-bottom: var(--wp--preset--spacing--40);}:root :where(.wp-block-post-comments-form textarea, .wp-block-post-comments-form input:not([type=submit])){border-radius:.25rem; border-color: var(--wp--preset--color--accent-6) !important;}:root :where(.wp-block-post-comments-form input[type=checkbox]){margin:0 .2rem 0 0 !important;}:root :where(.wp-block-post-comments-form label){font-size: var(--wp--preset--font-size--small);}\";s:24:\"core/comments-pagination\";s:182:\":root :where(.wp-block-comments-pagination){font-size: var(--wp--preset--font-size--medium);margin-top: var(--wp--preset--spacing--40);margin-bottom: var(--wp--preset--spacing--40);}\";s:29:\"core/comments-pagination-next\";s:98:\":root :where(.wp-block-comments-pagination-next){font-size: var(--wp--preset--font-size--medium);}\";s:32:\"core/comments-pagination-numbers\";s:101:\":root :where(.wp-block-comments-pagination-numbers){font-size: var(--wp--preset--font-size--medium);}\";s:33:\"core/comments-pagination-previous\";s:102:\":root :where(.wp-block-comments-pagination-previous){font-size: var(--wp--preset--font-size--medium);}\";s:14:\"core/post-date\";s:124:\":root :where(.wp-block-post-date){color: var(--wp--preset--color--accent-4);font-size: var(--wp--preset--font-size--small);}\";s:32:\"ac0d4e00f5ec22d14451759983e5bd43\";s:133:\":root :where(.wp-block-post-date a:where(:not(.wp-element-button))){color: var(--wp--preset--color--accent-4);text-decoration: none;}\";s:32:\"0ae6ffd1b886044c2da62d75d05ab13d\";s:102:\":root :where(.wp-block-post-date a:where(:not(.wp-element-button)):hover){text-decoration: underline;}\";s:25:\"core/post-navigation-link\";s:94:\":root :where(.wp-block-post-navigation-link){font-size: var(--wp--preset--font-size--medium);}\";s:15:\"core/post-terms\";s:158:\":root :where(.wp-block-post-terms){font-size: var(--wp--preset--font-size--small);font-weight: 600;}:root :where(.wp-block-post-terms a){white-space: nowrap;}\";s:15:\"core/post-title\";s:0:\"\";s:32:\"bb496d3fcd9be3502ce57ff8281e5687\";s:92:\":root :where(.wp-block-post-title a:where(:not(.wp-element-button))){text-decoration: none;}\";s:32:\"12380ab98fdc81351bb32a39bbfc9249\";s:103:\":root :where(.wp-block-post-title a:where(:not(.wp-element-button)):hover){text-decoration: underline;}\";s:10:\"core/quote\";s:1315:\":root :where(.wp-block-quote){border-color: currentColor;border-width: 0 0 0 2px;border-style: solid;font-size: var(--wp--preset--font-size--large);font-weight: 300;margin-right: 0;margin-left: 0;padding-top: var(--wp--preset--spacing--30);padding-right: var(--wp--preset--spacing--40);padding-bottom: var(--wp--preset--spacing--30);padding-left: var(--wp--preset--spacing--40);}:root :where(.wp-block-quote-is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.wp-block-quote-is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.wp-block-quote-is-layout-flow) > *{margin-block-start: var(--wp--preset--spacing--30);margin-block-end: 0;}:root :where(.wp-block-quote-is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.wp-block-quote-is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.wp-block-quote-is-layout-constrained) > *{margin-block-start: var(--wp--preset--spacing--30);margin-block-end: 0;}:root :where(.wp-block-quote-is-layout-flex){gap: var(--wp--preset--spacing--30);}:root :where(.wp-block-quote-is-layout-grid){gap: var(--wp--preset--spacing--30);}:root :where(.wp-block-quote.has-text-align-right ){border-width: 0 2px 0 0;}:root :where(.wp-block-quote.has-text-align-center ){border-width: 0;border-inline: 0; padding-inline: 0;}\";s:32:\"1de7a22e22013106efc5be82788cb6c0\";s:176:\":root :where(.wp-block-quote cite){font-size: var(--wp--preset--font-size--small);font-style: normal;font-weight: 300;}:root :where(.wp-block-quote cite sub){font-size: 0.65em}\";s:21:\"core/query-pagination\";s:107:\":root :where(.wp-block-query-pagination){font-size: var(--wp--preset--font-size--medium);font-weight: 500;}\";s:11:\"core/search\";s:380:\":root :where(.wp-block-search .wp-block-search__label, .wp-block-search .wp-block-search__input, .wp-block-search .wp-block-search__button){font-size: var(--wp--preset--font-size--medium);line-height: 1.6;}:root :where(.wp-block-search .wp-block-search__input){border-radius:3.125rem;padding-left:1.5625rem;padding-right:1.5625rem;border-color:var(--wp--preset--color--accent-6);}\";s:32:\"14fa6a3d0cfbde171cbc0fb04aa8a6cf\";s:138:\":root :where(.wp-block-search .wp-element-button,.wp-block-search .wp-block-button__link){border-radius: 3.125rem;margin-left: 1.125rem;}\";s:32:\"05993ee2f3de94b5d1350998a7e9b6b0\";s:130:\":root :where(.wp-block-search .wp-element-button:hover,.wp-block-search .wp-block-button__link:hover){border-color: transparent;}\";s:14:\"core/separator\";s:148:\":root :where(.wp-block-separator){border-color: currentColor;border-width: 0 0 1px 0;border-style: solid;color: var(--wp--preset--color--accent-6);}\";s:17:\"core/site-tagline\";s:86:\":root :where(.wp-block-site-tagline){font-size: var(--wp--preset--font-size--medium);}\";s:15:\"core/site-title\";s:75:\":root :where(.wp-block-site-title){font-weight: 700;letter-spacing: -.5px;}\";s:32:\"f513d889cf971b13995cc3fffed2f39b\";s:92:\":root :where(.wp-block-site-title a:where(:not(.wp-element-button))){text-decoration: none;}\";s:32:\"22c37a317cc0ebd50155b5ad78564f37\";s:103:\":root :where(.wp-block-site-title a:where(:not(.wp-element-button)):hover){text-decoration: underline;}\";s:21:\"core/term-description\";s:90:\":root :where(.wp-block-term-description){font-size: var(--wp--preset--font-size--medium);}\";s:15:\"core/navigation\";s:84:\":root :where(.wp-block-navigation){font-size: var(--wp--preset--font-size--medium);}\";s:32:\"25289a01850f5a0264ddb79a9a3baf3d\";s:92:\":root :where(.wp-block-navigation a:where(:not(.wp-element-button))){text-decoration: none;}\";s:32:\"026c04da08398d655a95047f1f235d97\";s:103:\":root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover){text-decoration: underline;}\";s:9:\"core/list\";s:52:\":root :where(.wp-block-list li){margin-top: 0.5rem;}\";s:12:\"core/heading\";s:0:\"\";s:14:\"core/paragraph\";s:0:\"\";s:10:\"core/group\";s:0:\"\";s:11:\"core/column\";s:0:\"\";}}','on'),(191,'_site_transient_timeout_wp_remote_block_patterns_da85ad53ed0dfe6b80a221538486d49d','1743163418','off'); +INSERT INTO `wp_options` VALUES (192,'_site_transient_wp_remote_block_patterns_da85ad53ed0dfe6b80a221538486d49d','a:44:{i:0;O:8:\"stdClass\":7:{s:2:\"id\";i:514958;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:33:\"Intro area with heading and image\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1699:\"\n
\n
\n\n\n\n
\n
\n
\n

Uncover a realm of opportunities.

\n
\n\n\n\n
\n

Exploring life’s complex tapestry, options reveal routes to the exceptional, requiring innovation, inquisitiveness, and bravery for a deeply satisfying voyage.

\n\n\n\n\n
\n
\n\n\n\n
\n\n\n\n
\"\"
\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:4:\"hero\";s:16:\"wpop_description\";s:93:\"Two columns of text, left with a heading and right with a paragraph, with a wide image below.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.5\";s:25:\"wpop_contains_block_types\";s:111:\"core/button,core/buttons,core/column,core/columns,core/group,core/heading,core/image,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:5:\"about\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2422:\"\n
\n
\n\n\n\n
\n
\n
\n

Uncover a realm of opportunities.

\n
\n\n\n\n
\n

Exploring life\'s complex tapestry, options reveal routes to the exceptional, requiring innovation, inquisitiveness, and bravery for a deeply satisfying voyage.

\n\n\n\n\n
\n
\n\n\n\n
\n\n\n\n
\"\"
\n
\n\n\n\n
\n
\n\";}i:1;O:8:\"stdClass\":7:{s:2:\"id\";i:309935;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:45:\"Centered image with two-tone background color\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1349:\"\n
\n
\n
\n\n\n\n
\"\"
\n\n\n\n
\n\n\n\n

Etcetera

\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:18:\"Gradient, Two-Tone\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:57:\"core/cover,core/group,core/heading,core/image,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:3:{i:0;s:6:\"banner\";i:1;s:6:\"images\";i:2;s:4:\"text\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2134:\"\n
\n
\n
\n\n\n\n
\"\"
\n\n\n\n
\n\n\n\n

Etcetera

\n\n\n\n
\n
\n
\n\";}i:2;O:8:\"stdClass\":7:{s:2:\"id\";i:309925;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:43:\"Fullwidth Dark Banner with Heading Top Left\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1103:\"\n
\"\"
\n
\n

bud!

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:16:\"Jazz, Fulllwidth\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:36:\"core/cover,core/group,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:1697:\"\n
\"\"
\n
\n

bud!

\n
\n
\n\";}i:3;O:8:\"stdClass\":7:{s:2:\"id\";i:309230;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:44:\"Fullwidth cover with repeating gradient text\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1750:\"\n
\"\"
\n
\n\n\n\n
\n

DJANGO

\n\n\n\n

DJANGO

\n\n\n\n

DJANGO

\n\n\n\n

DJANGO

\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:48:\"Fullwidth, Background Image, Gradient, Uppercase\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:48:\"core/cover,core/group,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"banner\";i:1;s:4:\"text\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3135:\"\n
\"\"
\n
\n\n\n\n
\n

DJANGO

\n\n\n\n

DJANGO

\n\n\n\n

DJANGO

\n\n\n\n

DJANGO

\n
\n\n\n\n
\n
\n\";}i:4;O:8:\"stdClass\":7:{s:2:\"id\";i:309224;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:72:\"Fullwidth, vertically aligned headline on right with description on left\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2229:\"\n
\n
\n
\n

Let ’em Roll is an album by American organist Big John Patton recorded in 1965 and released on the Blue Note label.

\n\n\n\n\n
\n\n\n\n
\n

Let
‘EM
Roll

\n\n\n\n

Big
John
Patton

\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:60:\"vertically, bold, jazz, shop, store, headline, hero, product\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:61:\"core/button,core/buttons,core/cover,core/group,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"banner\";i:1;s:14:\"call-to-action\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3726:\"\n
\n
\n
\n

Let \'em Roll is an album by American organist Big John Patton recorded in 1965 and released on the Blue Note label.

\n\n\n\n\n
\n\n\n\n
\n

Let
\'EM
Roll

\n\n\n\n

Big
John
Patton

\n
\n
\n
\n\";}i:5;O:8:\"stdClass\":7:{s:2:\"id\";i:309236;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:60:\"Fullwidth headline with links and gradient offset background\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2070:\"\n
\n
\n\n\n\n
\n
\n

MONK.

\n
\n\n\n\n
\n
\n

A new collection

\n\n\n\n

Learn More

\n
\n
\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:41:\"Offset, Gradient, Jazz, Headline, Feature\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:48:\"core/cover,core/group,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3195:\"\n
\n
\n\n\n\n
\n
\n

MONK.

\n
\n\n\n\n
\n
\n

A new collection

\n\n\n\n

Learn More →

\n
\n
\n
\n\n\n\n
\n
\n\";}i:6;O:8:\"stdClass\":7:{s:2:\"id\";i:308937;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:42:\"Heading, Paragraph, Button with Two Images\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2682:\"\n
\n
\n
\n

Time for an adventure

\n\n\n\n
\n\n\n\n

Explore our network of trails that lead through a variety of woodland habitats and observe the diverse flora that call this area home.

\n\n\n\n
\n\n\n\n\n
\n\n\n\n
\n
\n
\n\n\n\n
\"\"
\n
\n\n\n\n
\"\"
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:97:\"core/button,core/buttons,core/cover,core/group,core/heading,core/image,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"banner\";i:1;s:14:\"call-to-action\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:4102:\"\n
\n
\n
\n

Time for an adventure

\n\n\n\n
\n\n\n\n

Explore our network of trails that lead through a variety of woodland habitats and observe the diverse flora that call this area home.

\n\n\n\n
\n\n\n\n\n
\n\n\n\n
\n
\n
\n\n\n\n
\"\"
\n
\n\n\n\n
\"\"
\n
\n
\n
\n\";}i:7;O:8:\"stdClass\":7:{s:2:\"id\";i:308949;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:42:\"Bold sale banner with geometric background\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1757:\"\n
\"\"
\n
\n

Enjoy

\n\n\n\n

20% Off

\n\n\n\n
\n\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:43:\"store, shop, coupon, jazz, background image\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:73:\"core/button,core/buttons,core/cover,core/group,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"banner\";i:1;s:14:\"call-to-action\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2819:\"\n
\"\"
\n
\n

Enjoy

\n\n\n\n

20% Off

\n\n\n\n
\n\n\n\n\n
\n
\n\";}i:8;O:8:\"stdClass\":7:{s:2:\"id\";i:308924;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:47:\"Offset bold paragraph text with varying opacity\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1658:\"\n
\n
\n

Embark

\n\n\n\n

ON A HIKING

\n\n\n\n

adventure and explore the beauty of nature’s best…

\n\n\n\n

In the

\n\n\n\n

WOODS.

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:36:\"core/cover,core/group,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:4:\"text\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3052:\"\n
\n
\n

Embark

\n\n\n\n

ON A HIKING

\n\n\n\n

adventure and explore the beauty of nature\'s best…

\n\n\n\n

In the

\n\n\n\n

WOODS.

\n
\n
\n\";}i:9;O:8:\"stdClass\":7:{s:2:\"id\";i:308916;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:40:\"Offset text with a brutalist design vibe\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1455:\"\n
\n
\n

✴︎ Walk

\n\n\n\n

In the

\n\n\n\n

Park

\n\n\n\n

—01.03

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:36:\"core/cover,core/group,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"banner\";i:1;s:4:\"text\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2631:\"\n
\n
\n

✴︎ Walk

\n\n\n\n

In the

\n\n\n\n

Park

\n\n\n\n

—01.03

\n
\n
\n\";}i:10;O:8:\"stdClass\":7:{s:2:\"id\";i:308901;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:40:\"Fullscreen image with right content area\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2135:\"\n
\n
\n
\"\"
\n\n\n\n
\n

wAndering through the woods

\n\n\n\n
\n\n\n\n

Explore our network of trails that lead through a variety of woodland habitats and observe the diverse flora that call this area home.

\n\n\n\n
\n\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:97:\"core/button,core/buttons,core/cover,core/group,core/heading,core/image,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3261:\"\n
\n
\n
\"\"
\n\n\n\n
\n

wAndering through the woods

\n\n\n\n
\n\n\n\n

Explore our network of trails that lead through a variety of woodland habitats and observe the diverse flora that call this area home.

\n\n\n\n
\n\n\n\n\n
\n
\n
\n\";}i:11;O:8:\"stdClass\":7:{s:2:\"id\";i:308871;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:46:\"Cover Image with Bold Heading and Button, Left\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1639:\"\n
\"\"
\n
\n

Take a hike and wAnder through the woods

\n
\n\n\n\n
\n\n\n\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:71:\"core/button,core/buttons,core/cover,core/group,core/heading,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2443:\"\n
\"\"
\n
\n

Take a hike and wAnder through the woods

\n
\n\n\n\n
\n\n\n\n\n
\n\";}i:12;O:8:\"stdClass\":7:{s:2:\"id\";i:308868;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:40:\"Cover Image with Bold Heading and Button\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1647:\"\n
\"\"
\n
\n

Embark on a hiking adventure and explore the beauty of the woods.

\n
\n\n\n\n
\n\n\n\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:71:\"core/button,core/buttons,core/cover,core/group,core/heading,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2449:\"\n
\"\"
\n
\n

Embark on a hiking adventure and explore the beauty of the woods.

\n
\n\n\n\n
\n\n\n\n\n
\n\";}i:13;O:8:\"stdClass\":7:{s:2:\"id\";i:303828;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:30:\"Fullscreen cover image gallery\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:961:\"\n
\n
\n
\"\"
\n\n\n\n
\"\"
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:43:\"gallery, images, columns, background, cover\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:32:\"core/cover,core/group,core/image\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:7:\"gallery\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:1259:\"\n
\n
\n
\"\"
\n\n\n\n
\"\"
\n
\n
\n\";}i:14;O:8:\"stdClass\":7:{s:2:\"id\";i:277265;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:37:\"Fullwidth posts with uppercase titles\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:498:\"\n
\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:30:\"star, posts, loop, blog, index\";s:16:\"wpop_description\";s:62:\"A fullwidth posts pattern with large titles and start accents.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:10:\"core/query\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:182:\"core/group,core/paragraph,core/post-date,core/post-template,core/post-terms,core/post-title,core/query,core/query-pagination,core/query-pagination-next,core/query-pagination-previous\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:5:\"query\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3502:\"\n
\n
\n\n
\n
\n
\n

✴︎

\n\n\n
\n\n\n
\n
\n\n\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n
\n\";}i:15;O:8:\"stdClass\":7:{s:2:\"id\";i:277127;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:33:\"Fullwidth posts titles with dates\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:637:\"\n
\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:31:\"Posts, Query, Loop, Blog, Index\";s:16:\"wpop_description\";s:62:\"A fullwidth posts pattern with large titles and numeral dates.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:10:\"core/query\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:151:\"core/group,core/post-date,core/post-template,core/post-title,core/query,core/query-pagination,core/query-pagination-next,core/query-pagination-previous\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:5:\"query\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:3583:\"\n
\n
\n\n
\n
\n\n
\n\n\n
\n\n
\n\n\n\n
\n\n\n\n
\n
\n\";}i:16;O:8:\"stdClass\":7:{s:2:\"id\";i:229092;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:41:\"Header inside full-width background image\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:4792:\"\n
\n
\"\"
\n
\n\n\n\n
\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:100:\"Simple header with logo, site title, navigation and a full-width background image with dark overlay.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:80:\"core/cover,core/group,core/navigation,core/site-logo,core/site-title,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"header\";}s:13:\"keyword_slugs\";a:1:{i:0;s:4:\"core\";}s:15:\"pattern_content\";s:2554:\"\n
\n
\"\"
\n
\n
\n\n
\n\n\n
\n\n\n\n
\n
\n
\n\";}i:17;O:8:\"stdClass\":7:{s:2:\"id\";i:229097;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:34:\"Simple header with dark background\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3949:\"\n
\n
\n\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:76:\"Simple header with logo, site title, navigation links and a dark background.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:57:\"core/group,core/navigation,core/site-logo,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1497:\"\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n\";}i:18;O:8:\"stdClass\":7:{s:2:\"id\";i:229101;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:29:\"Text-only header with tagline\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3628:\"\n
\n
\n

Patterns

\n\n

Beautifully designed patterns ready to go with a simple copy/paste

\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:53:\"Header with site title, tagline and navigation links.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:60:\"core/group,core/navigation,core/site-tagline,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:966:\"\n
\n
\n
\n\n
\n\n\n
\n
\n\";}i:19;O:8:\"stdClass\":7:{s:2:\"id\";i:229105;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:26:\"Simple header with tagline\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:4229:\"\n
\n
\n
\"Site
\n\n\n

Patterns

\n\n

Beautifully designed patterns ready to go with a simple copy/paste

\n
\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:92:\"Header with site logo, title and tagline on the left and with navigation links on the right.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:75:\"core/group,core/navigation,core/site-logo,core/site-tagline,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1389:\"\n
\n
\n
\n\n\n
\n\n
\n
\n\n\n
\n
\n\";}i:20;O:8:\"stdClass\":7:{s:2:\"id\";i:229111;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:36:\"Fullwidth site title and menu button\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3359:\"\n

Patterns

\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:51:\"Header with site title and a hamburger menu button.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:42:\"core/group,core/navigation,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:794:\"\n
\n\n
\n\";}i:21;O:8:\"stdClass\":7:{s:2:\"id\";i:229116;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:32:\"Fullwidth header with hero image\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:4776:\"\n
\n
\n
\"Site
\n\n\n\n
\n\n\n
\n\n\n\n
\"\"
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:65:\"Header on a white background followed by a full-width hero image.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:80:\"core/cover,core/group,core/navigation,core/site-logo,core/site-title,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"header\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:2566:\"\n
\n
\n
\n\n\n
\n
\n\n\n
\n\n\n\n
\"\"
\n
\n
\n
\n\";}i:22;O:8:\"stdClass\":7:{s:2:\"id\";i:229080;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:25:\"Centered header with logo\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3695:\"\n
\n
\"Site
\n\n

Patterns

\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:65:\"Center aligned header with logo, site title and navigation links.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:57:\"core/group,core/navigation,core/site-logo,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:926:\"\n
\n
\n\n\n\n
\n
\n\";}i:23;O:8:\"stdClass\":7:{s:2:\"id\";i:229084;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:37:\"Fullwidth header with large font size\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3465:\"\n

Patterns

\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:80:\"Header with a large site title and navigation links in the same large font size.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:42:\"core/group,core/navigation,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:811:\"\n
\n\n
\n\";}i:24;O:8:\"stdClass\":7:{s:2:\"id\";i:229088;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:13:\"Simple header\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3757:\"\n
\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:51:\"Simple header with logo, site title and navigation.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/header\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:57:\"core/group,core/navigation,core/site-logo,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"header\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1021:\"\n
\n
\n
\n\n
\n\n\n
\n
\n\";}i:25;O:8:\"stdClass\":7:{s:2:\"id\";i:229123;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:33:\"Centered footer with social links\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:4249:\"\n
\n
\n

Proudly powered by WordPress

\n\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:82:\"Centered footer with the sentence \"Proudly powered by WordPress\" and social links.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:25:\"core/group,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1495:\"\n
\n
\n

Proudly powered by WordPress

\n\n\n\n\n
\n
\n\";}i:26;O:8:\"stdClass\":7:{s:2:\"id\";i:229127;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:47:\"Footer with search, site title, and credit line\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3153:\"\n
\n
\n
\n

Search

\n\n\n
\n\n\n\n
\n
\n

Social

\n\n\n\n
\n

Facebook

\n\n\n\n

Instagram

\n\n\n\n

Twitter

\n
\n
\n
\n
\n\n\n\n
\n\n\n\n
\n\n\n\n\n

Proudly powered by WordPress

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:88:\"Footer with search field and site title on the left, and small credit line on the right.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:65:\"core/group,core/paragraph,core/search,core/site-title,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:3254:\"\n
\n
\n
\n

Search

\n\n\n
\n\n\n\n
\n
\n

Social

\n\n\n\n
\n

Facebook

\n\n\n\n

Instagram

\n\n\n\n

Twitter

\n
\n
\n
\n
\n\n\n\n
\n\n\n\n
\n
\n\n\n\n

Proudly powered by WordPress

\n
\n
\n\";}i:27;O:8:\"stdClass\":7:{s:2:\"id\";i:229131;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:38:\"Footer with site title and credit line\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:894:\"\n
\n
\n\n\n\n\n

Proudly powered by WordPress

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:64:\"Footer with site title on the left and credit line on the right.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:41:\"core/group,core/paragraph,core/site-title\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1095:\"\n
\n
\n
\n\n\n\n

Proudly powered by WordPress

\n
\n
\n\";}i:28;O:8:\"stdClass\":7:{s:2:\"id\";i:229135;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:38:\"Footer with navigation and credit line\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3629:\"\n
\n
\n
\n\n\n\n

Proudly powered by WordPress

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:64:\"Footer with navigation on the left and credit line on the right.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:41:\"core/group,core/navigation,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1174:\"\n
\n
\n
\n\n\n\n

Proudly powered by WordPress

\n
\n
\n\";}i:29;O:8:\"stdClass\":7:{s:2:\"id\";i:229139;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:56:\"Fullwidth footer with background color and three columns\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3042:\"\n
\n
\n
\n

Location

\n\n\n\n

2020 Lomita Blvd, 
Torrance, CA 90101
United States

\n\n\n\n
\n
\n\n\n\n
\n

Pages

\n\n\n\n\n\n
\n
\n\n\n\n
\n

Follow us

\n\n\n\n
\n

Facebook

\n\n\n\n

Instagram

\n\n\n\n

Twitter

\n
\n\n\n\n
\n
\n
\n\n\n\n
\n

Proudly powered by WordPress

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:57:\"Text-only footer with background color and three columns.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:78:\"core/column,core/columns,core/group,core/navigation,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:3225:\"\n
\n
\n
\n

Location

\n\n\n\n

2020 Lomita Blvd, 
Torrance, CA 90101
United States

\n\n\n\n
\n
\n\n\n\n
\n

Pages

\n\n\n\n\n\n
\n
\n\n\n\n
\n

Follow us

\n\n\n\n
\n

Facebook

\n\n\n\n

Instagram

\n\n\n\n

Twitter

\n
\n\n\n\n
\n
\n
\n\n\n\n
\n

Proudly powered by WordPress

\n
\n
\n\";}i:30;O:8:\"stdClass\":7:{s:2:\"id\";i:229143;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:33:\"Centered footer with social links\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:4155:\"\n
\"Site
\n\n\n

Proudly powered by WordPress

\n\n\n\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:71:\"Footer with centered site title, tagline, social links and credit line.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.2\";s:25:\"wpop_contains_block_types\";s:75:\"core/group,core/paragraph,core/site-logo,core/social-link,core/social-links\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1532:\"\n
\n\n\n

Proudly powered by WordPress

\n\n\n\n\n
\n\";}i:31;O:8:\"stdClass\":7:{s:2:\"id\";i:229147;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:52:\"Fullwidth footer with navigation, credit, and social\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:4666:\"\n
\n

Patterns

\n\n\n
\n

Proudly powered by WordPress

\n
\n\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:87:\"Footer with site title on the left, credit in the middle and social links on the right.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:76:\"core/group,core/paragraph,core/site-title,core/social-link,core/social-links\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1869:\"\n
\n
\n\n\n
\n

Proudly powered by WordPress

\n
\n\n\n\n\n
\n
\n\";}i:32;O:8:\"stdClass\":7:{s:2:\"id\";i:229151;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:19:\"Left-aligned footer\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2954:\"\n
\n

Patterns

\n\n\n

2020 Lomita Blvd, 
Torrance, CA 90101
United States

\n\n\n\n

Proudly powered by WordPress

\n\n\n\n
\n
\n\n\n\n
\n
\n

Pages

\n\n\n\n\n\n
\n
\n\n\n\n
\n

Social

\n\n\n\n
\n

Facebook

\n\n\n\n

Instagram

\n\n\n\n

Twitter

\n
\n\n\n\n
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:44:\"Left-aligned footer with just a credit line.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:1:{i:0;s:25:\"core/template-part/footer\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:69:\"core/group,core/navigation,core/paragraph,core/site-title,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"footer\";i:1;s:9:\"wireframe\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:2939:\"\n
\n
\n\n\n

2020 Lomita Blvd, 
Torrance, CA 90101
United States

\n\n\n\n

Proudly powered by WordPress

\n\n\n\n
\n
\n\n\n\n
\n
\n

Pages

\n\n\n\n\n\n
\n
\n\n\n\n
\n

Social

\n\n\n\n
\n

Facebook

\n\n\n\n

Instagram

\n\n\n\n

Twitter

\n
\n\n\n\n
\n
\n
\n
\n\";}i:33;O:8:\"stdClass\":7:{s:2:\"id\";i:201;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:32:\"Three columns with offset images\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1358:\"\n
\n
\n
\"Close-up,
\n
\n\n\n\n
\n
\n\n\n\n
\n\n\n\n
\"Close-up,
\n
\n\n\n\n
\n
\"Close-up
\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:33:\"Three columns with offset images.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:47:\"core/column,core/columns,core/image,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:7:\"gallery\";i:1;s:6:\"images\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1753:\"\n
\n
\n
\"Close-up,
\n
\n\n\n\n
\n
\n\n\n\n
\n\n\n\n
\"Close-up,
\n
\n\n\n\n
\n
\"Close-up
\n\n\n\n
\n
\n
\n\";}i:34;O:8:\"stdClass\":7:{s:2:\"id\";i:199;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:34:\"Three columns with images and text\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3604:\"\n
\n
\n
ECOSYSTEM
\n\n\n\n

Positive growth.

\n
\n\n\n\n
\n\n\n\n
\n
\n
\n

Nature, in the common sense, refers to essences unchanged by man; space, the air, the river, the leaf. Art is applied to the mixture of his will with the same things, as in a house, a canal, a statue, a picture.

\n\n\n\n

But his operations taken together are so insignificant, a little chipping, baking, patching, and washing, that in an impression so grand as that of the world on the human mind, they do not vary the result.

\n
\n\n\n\n
\n
\n\n\n\n
\"The
\n
\n\n\n\n
\n
\"Wind
\n
\n
\n\n\n\n
\n
\n
\"The
\n
\n\n\n\n
\n
\n\n\n\n

Undoubtedly we have no questions to ask which are unanswerable. We must trust the perfection of the creation so far, as to believe that whatever curiosity the order of things has awakened in our minds, the order of things can satisfy. Every man’s condition is a solution in hieroglyphic to those inquiries he would put.

\n
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:77:\"Three columns with images and text, with vertical spacing for an offset look.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:86:\"core/column,core/columns,core/group,core/heading,core/image,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:4:{i:0;s:7:\"columns\";i:1;s:7:\"gallery\";i:2;s:6:\"images\";i:3;s:4:\"text\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:5124:\"\n
\n
\n
ECOSYSTEM
\n\n\n\n

Positive growth.

\n
\n\n\n\n
\n\n\n\n
\n
\n
\n

Nature, in the common sense, refers to essences unchanged by man; space, the air, the river, the leaf. Art is applied to the mixture of his will with the same things, as in a house, a canal, a statue, a picture.

\n\n\n\n

But his operations taken together are so insignificant, a little chipping, baking, patching, and washing, that in an impression so grand as that of the world on the human mind, they do not vary the result.

\n
\n\n\n\n
\n
\n\n\n\n
\"The
\n
\n\n\n\n
\n
\"Wind
\n
\n
\n\n\n\n
\n
\n
\"The
\n
\n\n\n\n
\n
\n\n\n\n

Undoubtedly we have no questions to ask which are unanswerable. We must trust the perfection of the creation so far, as to believe that whatever curiosity the order of things has awakened in our minds, the order of things can satisfy. Every man\'s condition is a solution in hieroglyphic to those inquiries he would put.

\n
\n
\n
\n
\n\";}i:35;O:8:\"stdClass\":7:{s:2:\"id\";i:197;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:39:\"Two columns of text with offset heading\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2296:\"\n
\n
\n\n\n\n
\n
\n

Oceanic Inspiration

\n
\n\n\n\n
\n
\n
\n
\n\n\n\n
\n
\n\n\n\n
\n

Winding veils round their heads, the women walked on deck. They were now moving steadily down the river, passing the dark shapes of ships at anchor, and London was a swarm of lights with a pale yellow canopy drooping above it. There were the lights of the great theatres, the lights of the long streets, lights that indicated huge squares of domestic comfort, lights that hung high in air.

\n
\n\n\n\n
\n

No darkness would ever settle upon those lamps, as no darkness had settled upon them for hundreds of years. It seemed dreadful that the town should blaze for ever in the same spot; dreadful at least to people going away to adventure upon the sea, and beholding it as a circumscribed mound, eternally burnt, eternally scarred. From the deck of the ship the great city appeared a crouched and cowardly figure, a sedentary miser.

\n
\n
\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:43:\"Two columns of text with an offset heading.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:77:\"core/column,core/columns,core/group,core/paragraph,core/separator,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:7:\"columns\";i:1;s:4:\"text\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:2837:\"\n
\n
\n\n\n\n
\n
\n

Oceanic Inspiration

\n
\n\n\n\n
\n
\n
\n
\n\n\n\n
\n
\n\n\n\n
\n

Winding veils round their heads, the women walked on deck. They were now moving steadily down the river, passing the dark shapes of ships at anchor, and London was a swarm of lights with a pale yellow canopy drooping above it. There were the lights of the great theatres, the lights of the long streets, lights that indicated huge squares of domestic comfort, lights that hung high in air.

\n
\n\n\n\n
\n

No darkness would ever settle upon those lamps, as no darkness had settled upon them for hundreds of years. It seemed dreadful that the town should blaze for ever in the same spot; dreadful at least to people going away to adventure upon the sea, and beholding it as a circumscribed mound, eternally burnt, eternally scarred. From the deck of the ship the great city appeared a crouched and cowardly figure, a sedentary miser.

\n
\n
\n\n\n\n
\n
\n\";}i:36;O:8:\"stdClass\":7:{s:2:\"id\";i:196;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:41:\"Media and text in a full height container\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1484:\"\n
\n
\"Close-up
\n

What’s the problem?

\n\n\n\n

Trees are more important today than ever before. More than 10,000 products are reportedly made from trees. Through chemistry, the humble woodpile is yielding chemicals, plastics and fabrics that were beyond comprehension when an axe first felled a Texas tree.

\n\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:77:\"Media and text block with image to the left and text and button to the right.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:79:\"core/button,core/buttons,core/cover,core/heading,core/media-text,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:2015:\"\n
\n
\"Close-up
\n

What\'s the problem?

\n\n\n\n

Trees are more important today than ever before. More than 10,000 products are reportedly made from trees. Through chemistry, the humble woodpile is yielding chemicals, plastics and fabrics that were beyond comprehension when an axe first felled a Texas tree.

\n\n\n\n\n
\n
\n\";}i:37;O:8:\"stdClass\":7:{s:2:\"id\";i:195;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:38:\"Media and text with image on the right\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:719:\"\n
\n

Shore with Blue Sea

\n\n\n\n

Eleanor Harris (American, 1901-1942)

\n
\"A
\n\n\n\n

\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:66:\"Media and text block with image to the right and text to the left.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:43:\"core/heading,core/media-text,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1155:\"\n
\n

Shore with Blue Sea

\n\n\n\n

Eleanor Harris (American, 1901-1942)

\n
\"A
\n\n\n\n

\n\";}i:38;O:8:\"stdClass\":7:{s:2:\"id\";i:192;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:37:\"Media and text with image on the left\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:611:\"\n
\"Close-up,
\n

Open Spaces

\n\n\n\n

See case study

\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:66:\"Media and text block with image to the left and text to the right.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:43:\"core/heading,core/media-text,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:844:\"\n
\"Close-up,
\n

Open Spaces

\n\n\n\n

See case study ↗

\n
\n\";}i:39;O:8:\"stdClass\":7:{s:2:\"id\";i:186;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:35:\"Large header with text and a button\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1596:\"\n
\n

Overseas:
1500 — 1960

\n\n\n\n
\n
\n

An exhibition about the different representations of the ocean throughout time, between the sixteenth and the twentieth century. Taking place in our Open Room in Floor 2.

\n\n\n\n
\n\n
\n
\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:62:\"Large header with background image and text and button on top.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:88:\"core/button,core/buttons,core/column,core/columns,core/cover,core/heading,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:2053:\"\n
\n

Overseas:
1500 — 1960

\n\n\n\n
\n
\n

An exhibition about the different representations of the ocean throughout time, between the sixteenth and the twentieth century. Taking place in our Open Room in Floor 2.

\n\n\n\n
\n\n
\n
\n\n\n\n
\n
\n
\n\";}i:40;O:8:\"stdClass\":7:{s:2:\"id\";i:185;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:35:\"Large header with left-aligned text\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1388:\"\n
\"\"
\n

Forest.

\n\n\n\n
\n
\n
\n\n\n\n

Even a child knows how valuable the forest is. The fresh, breathtaking smell of trees. Echoing birds flying above that dense magnitude. A stable climate, a sustainable diverse life and a source of culture. Yet, forests and other ecosystems hang in the balance, threatened to become croplands, pasture, and plantations.

\n
\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:29:\"Cover image with quote on top\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:75:\"core/column,core/columns,core/cover,core/heading,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1698:\"\n
\"\"
\n

Forest.

\n\n\n\n
\n
\n
\n\n\n\n

Even a child knows how valuable the forest is. The fresh, breathtaking smell of trees. Echoing birds flying above that dense magnitude. A stable climate, a sustainable diverse life and a source of culture. Yet, forests and other ecosystems hang in the balance, threatened to become croplands, pasture, and plantations.

\n
\n\n\n\n
\n
\n
\n\";}i:41;O:8:\"stdClass\":7:{s:2:\"id\";i:184;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:7:\"Heading\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:526:\"\n

We’re a studio in Berlin with an international practice in architecture, urban planning and interior design. We believe in sharing knowledge and promoting dialogue to increase the creative potential of collaboration.

\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:17:\"large text, title\";s:16:\"wpop_description\";s:12:\"Heading text\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:1:{i:0;s:12:\"core/heading\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:12:\"core/heading\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:4:\"text\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:621:\"\n

We\'re a studio in Berlin with an international practice in architecture, urban planning and interior design. We believe in sharing knowledge and promoting dialogue to increase the creative potential of collaboration.

\n\";}i:42;O:8:\"stdClass\":7:{s:2:\"id\";i:29;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:29:\"Two columns of text and title\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1546:\"\n

The voyage had begun, and had begun happily with a soft blue sky, and a calm sea.

\n\n\n\n
\n
\n

They followed her on to the deck. All the smoke and the houses had disappeared, and the ship was out in a wide space of sea very fresh and clear though pale in the early light. They had left London sitting on its mud. A very thin line of shadow tapered on the horizon, scarcely thick enough to stand the burden of Paris, which nevertheless rested upon it. They were free of roads, free of mankind, and the same exhilaration at their freedom ran through them all.

\n
\n\n\n\n
\n

The ship was making her way steadily through small waves which slapped her and then fizzled like effervescing water, leaving a little border of bubbles and foam on either side. The colourless October sky above was thinly clouded as if by the trail of wood-fire smoke, and the air was wonderfully salt and brisk. Indeed it was too cold to stand still. Mrs. Ambrose drew her arm within her husband’s, and as they moved off it could be seen from the way in which her sloping cheek turned up to his that she had something private to communicate.

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:47:\"Two columns of text preceded by a long heading.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:52:\"core/column,core/columns,core/heading,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:7:\"columns\";i:1;s:4:\"text\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1711:\"\n

The voyage had begun, and had begun happily with a soft blue sky, and a calm sea.

\n\n\n\n
\n
\n

They followed her on to the deck. All the smoke and the houses had disappeared, and the ship was out in a wide space of sea very fresh and clear though pale in the early light. They had left London sitting on its mud. A very thin line of shadow tapered on the horizon, scarcely thick enough to stand the burden of Paris, which nevertheless rested upon it. They were free of roads, free of mankind, and the same exhilaration at their freedom ran through them all.

\n
\n\n\n\n
\n

The ship was making her way steadily through small waves which slapped her and then fizzled like effervescing water, leaving a little border of bubbles and foam on either side. The colourless October sky above was thinly clouded as if by the trail of wood-fire smoke, and the air was wonderfully salt and brisk. Indeed it was too cold to stand still. Mrs. Ambrose drew her arm within her husband\'s, and as they moved off it could be seen from the way in which her sloping cheek turned up to his that she had something private to communicate.

\n
\n
\n\";}i:43;O:8:\"stdClass\":7:{s:2:\"id\";i:19;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:23:\"Two images side by side\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:571:\"\n\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:41:\"An image gallery with two example images.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:23:\"core/gallery,core/image\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:7:\"gallery\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:704:\"\n\n\";}}','off'),(193,'_site_transient_timeout_wp_remote_block_patterns_9777e31ff1d7d0002ae5684e797428b4','1743163419','off'),(194,'_site_transient_wp_remote_block_patterns_9777e31ff1d7d0002ae5684e797428b4','a:13:{i:0;O:8:\"stdClass\":7:{s:2:\"id\";i:207567;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:11:\"Link in Bio\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:6680:\"\n

Patterns

\n\n

Beautifully designed patterns ready to go with a simple copy/paste

\n\n\n
\n\n\n\n\n\n\n\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:3:\"6.1\";s:25:\"wpop_contains_block_types\";s:116:\"core/button,core/buttons,core/group,core/site-tagline,core/site-title,core/social-link,core/social-links,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:14:\"call-to-action\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:2665:\"\n
\n\n\n\n\n
\n\n\n\n\n\n\n\n\n
\n\";}i:1;O:8:\"stdClass\":7:{s:2:\"id\";i:732;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:21:\"Simple call to action\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:991:\"\n
\n
\n\n\n\n

GET IN TOUCH

\n\n\n\n

Schedule a Visit

\n\n\n\n\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:89:\"A container with a white background. Inside is a centered paragraph, heading, and button.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:75:\"core/button,core/buttons,core/group,core/heading,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:7:\"buttons\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:1506:\"\n
\n
\n\n\n\n

GET IN TOUCH

\n\n\n\n

Schedule a Visit

\n\n\n\n\n\n\n\n
\n
\n\";}i:2;O:8:\"stdClass\":7:{s:2:\"id\";i:678;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:26:\"Three column pricing table\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3877:\"\n
\n
\n

Single

\n\n\n\n

Enrich our growing community.

\n\n\n\n
\n\n\n\n
    \n
  • General admission and member discounts for one adult
  • \n\n\n\n
  • One free ticket per special exhibition
  • \n\n\n\n
  • Two single-use guest passes per year
  • \n
\n\n\n\n\n
\n\n\n\n
\n

Family

\n\n\n\n

Support special exhibitions.

\n\n\n\n
\n\n\n\n
    \n
  • General admission and member discounts for two adults
  • \n\n\n\n
  • Four free tickets per special exhibition
  • \n\n\n\n
  • Four single-use guest passes per year
  • \n
\n\n\n\n\n
\n\n\n\n
\n

Patron

\n\n\n\n

Take support to the next level.

\n\n\n\n
\n\n\n\n
    \n
  • General admission and member discounts for two adults
  • \n\n\n\n
  • Five free tickets per special exhibition
  • \n\n\n\n
  • Six single-use guest passes per year
  • \n
\n\n\n\n\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:272:\"Three equal-width columns set up as a pricing table. The left column has a yellow background, the middle column has a light purple background, and the right column has a light blue background. Each column contains a heading, subheading, separator, list, and then a button.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:117:\"core/button,core/buttons,core/column,core/columns,core/heading,core/list,core/list-item,core/paragraph,core/separator\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:14:\"call-to-action\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:6125:\"\n
\n
\n

Single

\n\n\n\n

Enrich our growing community.

\n\n\n\n
\n\n\n\n
    \n
  • General admission and member discounts for one adult
  • \n\n\n\n
  • One free ticket per special exhibition
  • \n\n\n\n
  • Two single-use guest passes per year
  • \n
\n\n\n\n\n
\n\n\n\n
\n

Family

\n\n\n\n

Support special exhibitions.

\n\n\n\n
\n\n\n\n
    \n
  • General admission and member discounts for two adults
  • \n\n\n\n
  • Four free tickets per special exhibition
  • \n\n\n\n
  • Four single-use guest passes per year
  • \n
\n\n\n\n\n
\n\n\n\n
\n

Patron

\n\n\n\n

Take support to the next level.

\n\n\n\n
\n\n\n\n
    \n
  • General admission and member discounts for two adults
  • \n\n\n\n
  • Five free tickets per special exhibition
  • \n\n\n\n
  • Six single-use guest passes per year
  • \n
\n\n\n\n\n
\n
\n\";}i:3;O:8:\"stdClass\":7:{s:2:\"id\";i:669;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:31:\"Image and quote on a background\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:2293:\"\n
\"\"
\n
\n

Even the bitterest fruit has sugar in it.

\n\n\n\n

– Terry a O’Neal

\n
\n
\n\n\n\n
\"\"
\n
\n

The trees that are slow to grow bear the best fruit.

\n\n\n\n

– Molière

\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:221:\"Two media and text blocks. The top one has a pale green background. The text is on the left and contains a quote, and the image is on the right. The next block underneath has the image on the left, and quote on the right.\";s:19:\"wpop_viewport_width\";i:800;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:41:\"core/group,core/media-text,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"images\";i:1;s:4:\"text\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:2404:\"\n
\"\"
\n
\n

Even the bitterest fruit has sugar in it.

\n\n\n\n

– Terry a O\'Neal

\n
\n
\n\n\n\n
\"\"
\n
\n

The trees that are slow to grow bear the best fruit.

\n\n\n\n

– Molière

\n
\n
\n\";}i:4;O:8:\"stdClass\":7:{s:2:\"id\";i:591;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:5:\"Event\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1750:\"\n
\n
\n

Opening
Party

\n\n\n\n

RSVP

\n
\n
\"\"
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:0:\"\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:54:\"core/group,core/heading,core/media-text,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"banner\";i:1;s:6:\"images\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:1617:\"\n
\n
\n

Opening
Party

\n\n\n\n

RSVP →

\n
\n
\"\"
\n\";}i:5;O:8:\"stdClass\":7:{s:2:\"id\";i:573;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:37:\"Image on solid color with description\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1933:\"\n
\n
\n
\n
\"\"
\n
\n
\n\n\n\n
\n
\n
\n

Airplane

\n\n\n\n

Copper wire, wood base. I created this piece in late 2008. For this work, I aimed to convey both the industrial heaviness of an airplane, but also the cloudlike floating quality you feel when you’re in one.

\n
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:38:\"Image on solid color with description.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:61:\"core/column,core/columns,core/cover,core/image,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:6:\"images\";i:1;s:4:\"text\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:1826:\"\n
\n
\n
\n
\"\"
\n
\n
\n\n\n\n
\n
\n
\n

Airplane

\n\n\n\n

Copper wire, wood base. I created this piece in late 2008. For this work, I aimed to convey both the industrial heaviness of an airplane, but also the cloudlike floating quality you feel when you’re in one.

\n
\n
\n
\n
\n\";}i:6;O:8:\"stdClass\":7:{s:2:\"id\";i:526;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:31:\"Offset images with descriptions\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3074:\"\n
\n
\n
\n
\"Beautiful
\n\n\n\n
\n

White Irises

\n\n\n\n

Ogawa Kazumasa

\n
\n
\n
\n\n\n\n
\n
\n
\n
\n\n\n\n

Cherry Blossom

\n\n\n\n

Ogawa Kazumasa

\n
\n\n\n\n
\"Beautiful
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:58:\"Two offset columns with images and titles within each one.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:73:\"core/column,core/columns,core/group,core/image,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:2:{i:0;s:7:\"gallery\";i:1;s:6:\"images\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:2930:\"\n
\n
\n
\n
\"Beautiful
\n\n\n\n
\n

White Irises

\n\n\n\n

Ogawa Kazumasa

\n
\n
\n
\n\n\n\n
\n
\n
\n
\n\n\n\n

Cherry Blossom

\n\n\n\n

Ogawa Kazumasa

\n
\n\n\n\n
\"Beautiful
\n
\n
\n
\n\";}i:7;O:8:\"stdClass\":7:{s:2:\"id\";i:521;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:45:\"Image with description below and to the right\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1729:\"\n
\n
\n\n\n\n
\n
\"Vintage
\n
\n\n\n\n
\n\n\n\n
\n
\n\n\n\n
\n
\n\n\n\n
\n

Cupid in Flight
48” x 48” Giclee print on archival paper.

\n
\n
\n\n\n\n

\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:46:\"Image with description below and to the right.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:50:\"core/column,core/columns,core/image,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"images\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:1241:\"\n
\n
\n\n\n\n
\n
\"Vintage
\n
\n\n\n\n
\n\n\n\n
\n
\n\n\n\n
\n
\n\n\n\n
\n

Cupid in Flight
48” x 48” Giclee print on archival paper.

\n
\n
\n\n\n\n

\n\";}i:8;O:8:\"stdClass\":7:{s:2:\"id\";i:502;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:13:\"Event details\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1719:\"\n
\"Image
\n\n\n\n
\n
\n

Location:
82 Main St. Brooklyn, NY

\n
\n\n\n\n
\n

Date:
October 24, 2021

\n
\n\n\n\n\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:14:\"Event details.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:75:\"core/button,core/buttons,core/column,core/columns,core/image,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:14:\"call-to-action\";}s:13:\"keyword_slugs\";a:1:{i:0;s:8:\"featured\";}s:15:\"pattern_content\";s:1642:\"\n
\"Image
\n\n\n\n
\n
\n

Location:
82 Main St. Brooklyn, NY

\n
\n\n\n\n
\n

Date:
October 24, 2021

\n
\n\n\n\n\n
\n\";}i:9;O:8:\"stdClass\":7:{s:2:\"id\";i:199;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:34:\"Three columns with images and text\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:3604:\"\n
\n
\n
ECOSYSTEM
\n\n\n\n

Positive growth.

\n
\n\n\n\n
\n\n\n\n
\n
\n
\n

Nature, in the common sense, refers to essences unchanged by man; space, the air, the river, the leaf. Art is applied to the mixture of his will with the same things, as in a house, a canal, a statue, a picture.

\n\n\n\n

But his operations taken together are so insignificant, a little chipping, baking, patching, and washing, that in an impression so grand as that of the world on the human mind, they do not vary the result.

\n
\n\n\n\n
\n
\n\n\n\n
\"The
\n
\n\n\n\n
\n
\"Wind
\n
\n
\n\n\n\n
\n
\n
\"The
\n
\n\n\n\n
\n
\n\n\n\n

Undoubtedly we have no questions to ask which are unanswerable. We must trust the perfection of the creation so far, as to believe that whatever curiosity the order of things has awakened in our minds, the order of things can satisfy. Every man’s condition is a solution in hieroglyphic to those inquiries he would put.

\n
\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:77:\"Three columns with images and text, with vertical spacing for an offset look.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:86:\"core/column,core/columns,core/group,core/heading,core/image,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:4:{i:0;s:7:\"columns\";i:1;s:7:\"gallery\";i:2;s:6:\"images\";i:3;s:4:\"text\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:5124:\"\n
\n
\n
ECOSYSTEM
\n\n\n\n

Positive growth.

\n
\n\n\n\n
\n\n\n\n
\n
\n
\n

Nature, in the common sense, refers to essences unchanged by man; space, the air, the river, the leaf. Art is applied to the mixture of his will with the same things, as in a house, a canal, a statue, a picture.

\n\n\n\n

But his operations taken together are so insignificant, a little chipping, baking, patching, and washing, that in an impression so grand as that of the world on the human mind, they do not vary the result.

\n
\n\n\n\n
\n
\n\n\n\n
\"The
\n
\n\n\n\n
\n
\"Wind
\n
\n
\n\n\n\n
\n
\n
\"The
\n
\n\n\n\n
\n
\n\n\n\n

Undoubtedly we have no questions to ask which are unanswerable. We must trust the perfection of the creation so far, as to believe that whatever curiosity the order of things has awakened in our minds, the order of things can satisfy. Every man\'s condition is a solution in hieroglyphic to those inquiries he would put.

\n
\n
\n
\n
\n\";}i:10;O:8:\"stdClass\":7:{s:2:\"id\";i:192;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:37:\"Media and text with image on the left\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:611:\"\n
\"Close-up,
\n

Open Spaces

\n\n\n\n

See case study

\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:66:\"Media and text block with image to the left and text to the right.\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:43:\"core/heading,core/media-text,core/paragraph\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:844:\"\n
\"Close-up,
\n

Open Spaces

\n\n\n\n

See case study ↗

\n
\n\";}i:11;O:8:\"stdClass\":7:{s:2:\"id\";i:185;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:35:\"Large header with left-aligned text\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:1388:\"\n
\"\"
\n

Forest.

\n\n\n\n
\n
\n
\n\n\n\n

Even a child knows how valuable the forest is. The fresh, breathtaking smell of trees. Echoing birds flying above that dense magnitude. A stable climate, a sustainable diverse life and a source of culture. Yet, forests and other ecosystems hang in the balance, threatened to become croplands, pasture, and plantations.

\n
\n\n\n\n
\n
\n
\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:0:\"\";s:16:\"wpop_description\";s:29:\"Cover image with quote on top\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:0:{}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:75:\"core/column,core/columns,core/cover,core/heading,core/paragraph,core/spacer\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:6:\"banner\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:1698:\"\n
\"\"
\n

Forest.

\n\n\n\n
\n
\n
\n\n\n\n

Even a child knows how valuable the forest is. The fresh, breathtaking smell of trees. Echoing birds flying above that dense magnitude. A stable climate, a sustainable diverse life and a source of culture. Yet, forests and other ecosystems hang in the balance, threatened to become croplands, pasture, and plantations.

\n
\n\n\n\n
\n
\n
\n\";}i:12;O:8:\"stdClass\":7:{s:2:\"id\";i:184;s:5:\"title\";O:8:\"stdClass\":1:{s:8:\"rendered\";s:7:\"Heading\";}s:7:\"content\";O:8:\"stdClass\":2:{s:8:\"rendered\";s:526:\"\n

We’re a studio in Berlin with an international practice in architecture, urban planning and interior design. We believe in sharing knowledge and promoting dialogue to increase the creative potential of collaboration.

\n\";s:9:\"protected\";b:0;}s:4:\"meta\";O:8:\"stdClass\":8:{s:13:\"wpop_keywords\";s:17:\"large text, title\";s:16:\"wpop_description\";s:12:\"Heading text\";s:19:\"wpop_viewport_width\";i:1200;s:16:\"wpop_block_types\";a:1:{i:0;s:12:\"core/heading\";}s:11:\"wpop_locale\";s:5:\"en_US\";s:15:\"wpop_wp_version\";s:0:\"\";s:25:\"wpop_contains_block_types\";s:12:\"core/heading\";s:9:\"footnotes\";s:0:\"\";}s:14:\"category_slugs\";a:1:{i:0;s:4:\"text\";}s:13:\"keyword_slugs\";a:2:{i:0;s:4:\"core\";i:1;s:8:\"featured\";}s:15:\"pattern_content\";s:621:\"\n

We\'re a studio in Berlin with an international practice in architecture, urban planning and interior design. We believe in sharing knowledge and promoting dialogue to increase the creative potential of collaboration.

\n\";}}','off'),(200,'_site_transient_timeout_available_translations','1743171533','off'),(201,'_site_transient_available_translations','a:131:{s:2:\"af\";a:8:{s:8:\"language\";s:2:\"af\";s:7:\"version\";s:8:\"5.8-beta\";s:7:\"updated\";s:19:\"2021-05-13 15:59:22\";s:12:\"english_name\";s:9:\"Afrikaans\";s:11:\"native_name\";s:9:\"Afrikaans\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/5.8-beta/af.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"af\";i:2;s:3:\"afr\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:10:\"Gaan voort\";}}s:2:\"am\";a:8:{s:8:\"language\";s:2:\"am\";s:7:\"version\";s:5:\"6.0.9\";s:7:\"updated\";s:19:\"2022-09-29 20:43:49\";s:12:\"english_name\";s:7:\"Amharic\";s:11:\"native_name\";s:12:\"አማርኛ\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.0.9/am.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"am\";i:2;s:3:\"amh\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"ቀጥል\";}}s:3:\"arg\";a:8:{s:8:\"language\";s:3:\"arg\";s:7:\"version\";s:8:\"6.2-beta\";s:7:\"updated\";s:19:\"2022-09-22 16:46:56\";s:12:\"english_name\";s:9:\"Aragonese\";s:11:\"native_name\";s:9:\"Aragonés\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/6.2-beta/arg.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"an\";i:2;s:3:\"arg\";i:3;s:3:\"arg\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continar\";}}s:2:\"ar\";a:8:{s:8:\"language\";s:2:\"ar\";s:7:\"version\";s:5:\"6.4.5\";s:7:\"updated\";s:19:\"2024-02-13 12:49:38\";s:12:\"english_name\";s:6:\"Arabic\";s:11:\"native_name\";s:14:\"العربية\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.4.5/ar.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ar\";i:2;s:3:\"ara\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:12:\"متابعة\";}}s:3:\"ary\";a:8:{s:8:\"language\";s:3:\"ary\";s:7:\"version\";s:6:\"4.8.25\";s:7:\"updated\";s:19:\"2017-01-26 15:42:35\";s:12:\"english_name\";s:15:\"Moroccan Arabic\";s:11:\"native_name\";s:31:\"العربية المغربية\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/translation/core/4.8.25/ary.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ar\";i:3;s:3:\"ary\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:16:\"المتابعة\";}}s:2:\"as\";a:8:{s:8:\"language\";s:2:\"as\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-01 09:05:28\";s:12:\"english_name\";s:8:\"Assamese\";s:11:\"native_name\";s:21:\"অসমীয়া\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/as.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"as\";i:2;s:3:\"asm\";i:3;s:3:\"asm\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:3:\"azb\";a:8:{s:8:\"language\";s:3:\"azb\";s:7:\"version\";s:5:\"6.4.5\";s:7:\"updated\";s:19:\"2024-01-19 08:58:31\";s:12:\"english_name\";s:17:\"South Azerbaijani\";s:11:\"native_name\";s:29:\"گؤنئی آذربایجان\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.4.5/azb.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"az\";i:3;s:3:\"azb\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:2:\"az\";a:8:{s:8:\"language\";s:2:\"az\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-11-06 00:09:27\";s:12:\"english_name\";s:11:\"Azerbaijani\";s:11:\"native_name\";s:16:\"Azərbaycan dili\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/4.7.2/az.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"az\";i:2;s:3:\"aze\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:5:\"Davam\";}}s:3:\"bel\";a:8:{s:8:\"language\";s:3:\"bel\";s:7:\"version\";s:6:\"4.9.26\";s:7:\"updated\";s:19:\"2024-12-26 00:37:42\";s:12:\"english_name\";s:10:\"Belarusian\";s:11:\"native_name\";s:29:\"Беларуская мова\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/translation/core/4.9.26/bel.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"be\";i:2;s:3:\"bel\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:20:\"Працягнуць\";}}s:5:\"bg_BG\";a:8:{s:8:\"language\";s:5:\"bg_BG\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-01-12 07:32:34\";s:12:\"english_name\";s:9:\"Bulgarian\";s:11:\"native_name\";s:18:\"Български\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/bg_BG.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"bg\";i:2;s:3:\"bul\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:12:\"Напред\";}}s:5:\"bn_BD\";a:8:{s:8:\"language\";s:5:\"bn_BD\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-20 08:42:35\";s:12:\"english_name\";s:20:\"Bengali (Bangladesh)\";s:11:\"native_name\";s:15:\"বাংলা\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/bn_BD.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"bn\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:28:\"চালিয়ে যান\";}}s:2:\"bo\";a:8:{s:8:\"language\";s:2:\"bo\";s:7:\"version\";s:8:\"5.8-beta\";s:7:\"updated\";s:19:\"2020-10-30 03:24:38\";s:12:\"english_name\";s:7:\"Tibetan\";s:11:\"native_name\";s:21:\"བོད་ཡིག\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/5.8-beta/bo.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"bo\";i:2;s:3:\"tib\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:33:\"མུ་མཐུད་དུ།\";}}s:5:\"bs_BA\";a:8:{s:8:\"language\";s:5:\"bs_BA\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2023-02-22 20:45:53\";s:12:\"english_name\";s:7:\"Bosnian\";s:11:\"native_name\";s:8:\"Bosanski\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.2.6/bs_BA.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"bs\";i:2;s:3:\"bos\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:7:\"Nastavi\";}}s:2:\"ca\";a:8:{s:8:\"language\";s:2:\"ca\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-27 17:03:18\";s:12:\"english_name\";s:7:\"Catalan\";s:11:\"native_name\";s:7:\"Català\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/ca.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ca\";i:2;s:3:\"cat\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continua\";}}s:3:\"ceb\";a:8:{s:8:\"language\";s:3:\"ceb\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-03-02 17:25:51\";s:12:\"english_name\";s:7:\"Cebuano\";s:11:\"native_name\";s:7:\"Cebuano\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.7.2/ceb.zip\";s:3:\"iso\";a:2:{i:2;s:3:\"ceb\";i:3;s:3:\"ceb\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:7:\"Padayun\";}}s:5:\"cs_CZ\";a:8:{s:8:\"language\";s:5:\"cs_CZ\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-11 08:34:45\";s:12:\"english_name\";s:5:\"Czech\";s:11:\"native_name\";s:9:\"Čeština\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/cs_CZ.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"cs\";i:2;s:3:\"ces\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:11:\"Pokračovat\";}}s:2:\"cy\";a:8:{s:8:\"language\";s:2:\"cy\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-04 15:09:31\";s:12:\"english_name\";s:5:\"Welsh\";s:11:\"native_name\";s:7:\"Cymraeg\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/cy.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"cy\";i:2;s:3:\"cym\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Parhau\";}}s:5:\"da_DK\";a:8:{s:8:\"language\";s:5:\"da_DK\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-26 08:45:19\";s:12:\"english_name\";s:6:\"Danish\";s:11:\"native_name\";s:5:\"Dansk\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/da_DK.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"da\";i:2;s:3:\"dan\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Fortsæt\";}}s:5:\"de_CH\";a:8:{s:8:\"language\";s:5:\"de_CH\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-05 18:11:40\";s:12:\"english_name\";s:20:\"German (Switzerland)\";s:11:\"native_name\";s:17:\"Deutsch (Schweiz)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/de_CH.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"de\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Weiter\";}}s:5:\"de_DE\";a:8:{s:8:\"language\";s:5:\"de_DE\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-28 03:43:29\";s:12:\"english_name\";s:6:\"German\";s:11:\"native_name\";s:7:\"Deutsch\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/de_DE.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"de\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Weiter\";}}s:12:\"de_DE_formal\";a:8:{s:8:\"language\";s:12:\"de_DE_formal\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-28 03:43:06\";s:12:\"english_name\";s:15:\"German (Formal)\";s:11:\"native_name\";s:13:\"Deutsch (Sie)\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/translation/core/6.7.2/de_DE_formal.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"de\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Weiter\";}}s:14:\"de_CH_informal\";a:8:{s:8:\"language\";s:14:\"de_CH_informal\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-05 18:08:14\";s:12:\"english_name\";s:30:\"German (Switzerland, Informal)\";s:11:\"native_name\";s:21:\"Deutsch (Schweiz, Du)\";s:7:\"package\";s:73:\"https://downloads.wordpress.org/translation/core/6.7.2/de_CH_informal.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"de\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Weiter\";}}s:5:\"de_AT\";a:8:{s:8:\"language\";s:5:\"de_AT\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-03 07:45:57\";s:12:\"english_name\";s:16:\"German (Austria)\";s:11:\"native_name\";s:21:\"Deutsch (Österreich)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/de_AT.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"de\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Weiter\";}}s:3:\"dsb\";a:8:{s:8:\"language\";s:3:\"dsb\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2022-07-16 12:13:09\";s:12:\"english_name\";s:13:\"Lower Sorbian\";s:11:\"native_name\";s:16:\"Dolnoserbšćina\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.2.6/dsb.zip\";s:3:\"iso\";a:2:{i:2;s:3:\"dsb\";i:3;s:3:\"dsb\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:5:\"Dalej\";}}s:3:\"dzo\";a:8:{s:8:\"language\";s:3:\"dzo\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-06-29 08:59:03\";s:12:\"english_name\";s:8:\"Dzongkha\";s:11:\"native_name\";s:18:\"རྫོང་ཁ\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.7.2/dzo.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"dz\";i:2;s:3:\"dzo\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:2:\"el\";a:8:{s:8:\"language\";s:2:\"el\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-22 11:02:17\";s:12:\"english_name\";s:5:\"Greek\";s:11:\"native_name\";s:16:\"Ελληνικά\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/el.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"el\";i:2;s:3:\"ell\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:16:\"Συνέχεια\";}}s:5:\"en_ZA\";a:8:{s:8:\"language\";s:5:\"en_ZA\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-08 19:43:34\";s:12:\"english_name\";s:22:\"English (South Africa)\";s:11:\"native_name\";s:22:\"English (South Africa)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/en_ZA.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"en\";i:2;s:3:\"eng\";i:3;s:3:\"eng\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:5:\"en_GB\";a:8:{s:8:\"language\";s:5:\"en_GB\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-14 20:17:10\";s:12:\"english_name\";s:12:\"English (UK)\";s:11:\"native_name\";s:12:\"English (UK)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/en_GB.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"en\";i:2;s:3:\"eng\";i:3;s:3:\"eng\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:5:\"en_CA\";a:8:{s:8:\"language\";s:5:\"en_CA\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-25 15:37:15\";s:12:\"english_name\";s:16:\"English (Canada)\";s:11:\"native_name\";s:16:\"English (Canada)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/en_CA.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"en\";i:2;s:3:\"eng\";i:3;s:3:\"eng\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:5:\"en_AU\";a:8:{s:8:\"language\";s:5:\"en_AU\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-12-15 22:47:35\";s:12:\"english_name\";s:19:\"English (Australia)\";s:11:\"native_name\";s:19:\"English (Australia)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/en_AU.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"en\";i:2;s:3:\"eng\";i:3;s:3:\"eng\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:5:\"en_NZ\";a:8:{s:8:\"language\";s:5:\"en_NZ\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-12 00:03:39\";s:12:\"english_name\";s:21:\"English (New Zealand)\";s:11:\"native_name\";s:21:\"English (New Zealand)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/en_NZ.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"en\";i:2;s:3:\"eng\";i:3;s:3:\"eng\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:2:\"eo\";a:8:{s:8:\"language\";s:2:\"eo\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-18 15:16:11\";s:12:\"english_name\";s:9:\"Esperanto\";s:11:\"native_name\";s:9:\"Esperanto\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/eo.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"eo\";i:2;s:3:\"epo\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Daŭrigi\";}}s:5:\"es_CR\";a:8:{s:8:\"language\";s:5:\"es_CR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-12-09 22:28:42\";s:12:\"english_name\";s:20:\"Spanish (Costa Rica)\";s:11:\"native_name\";s:22:\"Español de Costa Rica\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_CR.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_PE\";a:8:{s:8:\"language\";s:5:\"es_PE\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-10-16 21:04:12\";s:12:\"english_name\";s:14:\"Spanish (Peru)\";s:11:\"native_name\";s:17:\"Español de Perú\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_PE.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_MX\";a:8:{s:8:\"language\";s:5:\"es_MX\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-04 14:46:26\";s:12:\"english_name\";s:16:\"Spanish (Mexico)\";s:11:\"native_name\";s:19:\"Español de México\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_MX.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_ES\";a:8:{s:8:\"language\";s:5:\"es_ES\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-22 16:30:18\";s:12:\"english_name\";s:15:\"Spanish (Spain)\";s:11:\"native_name\";s:8:\"Español\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_ES.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_VE\";a:8:{s:8:\"language\";s:5:\"es_VE\";s:7:\"version\";s:5:\"6.4.5\";s:7:\"updated\";s:19:\"2023-10-16 16:00:04\";s:12:\"english_name\";s:19:\"Spanish (Venezuela)\";s:11:\"native_name\";s:21:\"Español de Venezuela\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.4.5/es_VE.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_EC\";a:8:{s:8:\"language\";s:5:\"es_EC\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2023-04-21 13:32:10\";s:12:\"english_name\";s:17:\"Spanish (Ecuador)\";s:11:\"native_name\";s:19:\"Español de Ecuador\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.2.6/es_EC.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_DO\";a:8:{s:8:\"language\";s:5:\"es_DO\";s:7:\"version\";s:6:\"5.8.10\";s:7:\"updated\";s:19:\"2021-10-08 14:32:50\";s:12:\"english_name\";s:28:\"Spanish (Dominican Republic)\";s:11:\"native_name\";s:33:\"Español de República Dominicana\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/5.8.10/es_DO.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_UY\";a:8:{s:8:\"language\";s:5:\"es_UY\";s:7:\"version\";s:8:\"5.8-beta\";s:7:\"updated\";s:19:\"2021-03-31 18:33:26\";s:12:\"english_name\";s:17:\"Spanish (Uruguay)\";s:11:\"native_name\";s:19:\"Español de Uruguay\";s:7:\"package\";s:67:\"https://downloads.wordpress.org/translation/core/5.8-beta/es_UY.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_PR\";a:8:{s:8:\"language\";s:5:\"es_PR\";s:7:\"version\";s:6:\"5.4.16\";s:7:\"updated\";s:19:\"2020-04-29 15:36:59\";s:12:\"english_name\";s:21:\"Spanish (Puerto Rico)\";s:11:\"native_name\";s:23:\"Español de Puerto Rico\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/5.4.16/es_PR.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_GT\";a:8:{s:8:\"language\";s:5:\"es_GT\";s:7:\"version\";s:6:\"5.2.21\";s:7:\"updated\";s:19:\"2019-03-02 06:35:01\";s:12:\"english_name\";s:19:\"Spanish (Guatemala)\";s:11:\"native_name\";s:21:\"Español de Guatemala\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/5.2.21/es_GT.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_AR\";a:8:{s:8:\"language\";s:5:\"es_AR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-05 15:56:22\";s:12:\"english_name\";s:19:\"Spanish (Argentina)\";s:11:\"native_name\";s:21:\"Español de Argentina\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_AR.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_CL\";a:8:{s:8:\"language\";s:5:\"es_CL\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-02 23:11:20\";s:12:\"english_name\";s:15:\"Spanish (Chile)\";s:11:\"native_name\";s:17:\"Español de Chile\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_CL.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"es_CO\";a:8:{s:8:\"language\";s:5:\"es_CO\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-01 20:26:01\";s:12:\"english_name\";s:18:\"Spanish (Colombia)\";s:11:\"native_name\";s:20:\"Español de Colombia\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/es_CO.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"es\";i:2;s:3:\"spa\";i:3;s:3:\"spa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:2:\"et\";a:8:{s:8:\"language\";s:2:\"et\";s:7:\"version\";s:5:\"6.5.5\";s:7:\"updated\";s:19:\"2024-06-06 09:50:37\";s:12:\"english_name\";s:8:\"Estonian\";s:11:\"native_name\";s:5:\"Eesti\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.5.5/et.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"et\";i:2;s:3:\"est\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Jätka\";}}s:2:\"eu\";a:8:{s:8:\"language\";s:2:\"eu\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-26 16:06:47\";s:12:\"english_name\";s:6:\"Basque\";s:11:\"native_name\";s:7:\"Euskara\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/eu.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"eu\";i:2;s:3:\"eus\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Jarraitu\";}}s:5:\"fa_IR\";a:8:{s:8:\"language\";s:5:\"fa_IR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-01-30 10:07:14\";s:12:\"english_name\";s:7:\"Persian\";s:11:\"native_name\";s:10:\"فارسی\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/fa_IR.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"fa\";i:2;s:3:\"fas\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:10:\"ادامه\";}}s:5:\"fa_AF\";a:8:{s:8:\"language\";s:5:\"fa_AF\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-14 17:29:08\";s:12:\"english_name\";s:21:\"Persian (Afghanistan)\";s:11:\"native_name\";s:31:\"(فارسی (افغانستان\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/fa_AF.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"fa\";i:2;s:3:\"fas\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:10:\"ادامه\";}}s:2:\"fi\";a:8:{s:8:\"language\";s:2:\"fi\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-21 11:24:25\";s:12:\"english_name\";s:7:\"Finnish\";s:11:\"native_name\";s:5:\"Suomi\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/fi.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"fi\";i:2;s:3:\"fin\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:5:\"Jatka\";}}s:5:\"fr_CA\";a:8:{s:8:\"language\";s:5:\"fr_CA\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-12-12 22:29:22\";s:12:\"english_name\";s:15:\"French (Canada)\";s:11:\"native_name\";s:19:\"Français du Canada\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/fr_CA.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"fr\";i:2;s:3:\"fra\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuer\";}}s:5:\"fr_FR\";a:8:{s:8:\"language\";s:5:\"fr_FR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-25 21:16:32\";s:12:\"english_name\";s:15:\"French (France)\";s:11:\"native_name\";s:9:\"Français\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/fr_FR.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"fr\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuer\";}}s:5:\"fr_BE\";a:8:{s:8:\"language\";s:5:\"fr_BE\";s:7:\"version\";s:5:\"6.5.5\";s:7:\"updated\";s:19:\"2024-02-01 23:56:53\";s:12:\"english_name\";s:16:\"French (Belgium)\";s:11:\"native_name\";s:21:\"Français de Belgique\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.5.5/fr_BE.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"fr\";i:2;s:3:\"fra\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuer\";}}s:3:\"fur\";a:8:{s:8:\"language\";s:3:\"fur\";s:7:\"version\";s:6:\"4.8.25\";s:7:\"updated\";s:19:\"2023-04-30 13:56:46\";s:12:\"english_name\";s:8:\"Friulian\";s:11:\"native_name\";s:8:\"Friulian\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/translation/core/4.8.25/fur.zip\";s:3:\"iso\";a:2:{i:2;s:3:\"fur\";i:3;s:3:\"fur\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:2:\"fy\";a:8:{s:8:\"language\";s:2:\"fy\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2022-12-25 12:53:23\";s:12:\"english_name\";s:7:\"Frisian\";s:11:\"native_name\";s:5:\"Frysk\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.2.6/fy.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"fy\";i:2;s:3:\"fry\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Trochgean\";}}s:2:\"gd\";a:8:{s:8:\"language\";s:2:\"gd\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-08-23 17:41:37\";s:12:\"english_name\";s:15:\"Scottish Gaelic\";s:11:\"native_name\";s:9:\"Gàidhlig\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/4.7.2/gd.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"gd\";i:2;s:3:\"gla\";i:3;s:3:\"gla\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:15:\"Lean air adhart\";}}s:5:\"gl_ES\";a:8:{s:8:\"language\";s:5:\"gl_ES\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-01-29 23:44:41\";s:12:\"english_name\";s:8:\"Galician\";s:11:\"native_name\";s:6:\"Galego\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/gl_ES.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"gl\";i:2;s:3:\"glg\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:2:\"gu\";a:8:{s:8:\"language\";s:2:\"gu\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-27 06:35:56\";s:12:\"english_name\";s:8:\"Gujarati\";s:11:\"native_name\";s:21:\"ગુજરાતી\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/gu.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"gu\";i:2;s:3:\"guj\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:25:\"ચાલુ રાખો\";}}s:3:\"haz\";a:8:{s:8:\"language\";s:3:\"haz\";s:7:\"version\";s:6:\"4.4.33\";s:7:\"updated\";s:19:\"2015-12-05 00:59:09\";s:12:\"english_name\";s:8:\"Hazaragi\";s:11:\"native_name\";s:15:\"هزاره گی\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/translation/core/4.4.33/haz.zip\";s:3:\"iso\";a:1:{i:3;s:3:\"haz\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:10:\"ادامه\";}}s:5:\"he_IL\";a:8:{s:8:\"language\";s:5:\"he_IL\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2024-05-04 18:39:24\";s:12:\"english_name\";s:6:\"Hebrew\";s:11:\"native_name\";s:16:\"עִבְרִית\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.2.6/he_IL.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"he\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"המשך\";}}s:5:\"hi_IN\";a:8:{s:8:\"language\";s:5:\"hi_IN\";s:7:\"version\";s:5:\"6.4.5\";s:7:\"updated\";s:19:\"2025-02-06 05:17:11\";s:12:\"english_name\";s:5:\"Hindi\";s:11:\"native_name\";s:18:\"हिन्दी\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.4.5/hi_IN.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"hi\";i:2;s:3:\"hin\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:25:\"जारी रखें\";}}s:2:\"hr\";a:8:{s:8:\"language\";s:2:\"hr\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-01 09:14:16\";s:12:\"english_name\";s:8:\"Croatian\";s:11:\"native_name\";s:8:\"Hrvatski\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/hr.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"hr\";i:2;s:3:\"hrv\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:7:\"Nastavi\";}}s:3:\"hsb\";a:8:{s:8:\"language\";s:3:\"hsb\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2023-02-22 17:37:32\";s:12:\"english_name\";s:13:\"Upper Sorbian\";s:11:\"native_name\";s:17:\"Hornjoserbšćina\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.2.6/hsb.zip\";s:3:\"iso\";a:2:{i:2;s:3:\"hsb\";i:3;s:3:\"hsb\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:4:\"Dale\";}}s:5:\"hu_HU\";a:8:{s:8:\"language\";s:5:\"hu_HU\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-13 12:24:50\";s:12:\"english_name\";s:9:\"Hungarian\";s:11:\"native_name\";s:6:\"Magyar\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/hu_HU.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"hu\";i:2;s:3:\"hun\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:10:\"Folytatás\";}}s:2:\"hy\";a:8:{s:8:\"language\";s:2:\"hy\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-12-03 16:21:10\";s:12:\"english_name\";s:8:\"Armenian\";s:11:\"native_name\";s:14:\"Հայերեն\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/4.7.2/hy.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"hy\";i:2;s:3:\"hye\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:20:\"Շարունակել\";}}s:5:\"id_ID\";a:8:{s:8:\"language\";s:5:\"id_ID\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-01-31 11:29:26\";s:12:\"english_name\";s:10:\"Indonesian\";s:11:\"native_name\";s:16:\"Bahasa Indonesia\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/id_ID.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"id\";i:2;s:3:\"ind\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Lanjutkan\";}}s:5:\"is_IS\";a:8:{s:8:\"language\";s:5:\"is_IS\";s:7:\"version\";s:6:\"4.9.26\";s:7:\"updated\";s:19:\"2018-12-11 10:40:02\";s:12:\"english_name\";s:9:\"Icelandic\";s:11:\"native_name\";s:9:\"Íslenska\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/4.9.26/is_IS.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"is\";i:2;s:3:\"isl\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Áfram\";}}s:5:\"it_IT\";a:8:{s:8:\"language\";s:5:\"it_IT\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-20 11:01:52\";s:12:\"english_name\";s:7:\"Italian\";s:11:\"native_name\";s:8:\"Italiano\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/it_IT.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"it\";i:2;s:3:\"ita\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continua\";}}s:2:\"ja\";a:8:{s:8:\"language\";s:2:\"ja\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-07 13:30:47\";s:12:\"english_name\";s:8:\"Japanese\";s:11:\"native_name\";s:9:\"日本語\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/ja.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"ja\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"次へ\";}}s:5:\"jv_ID\";a:8:{s:8:\"language\";s:5:\"jv_ID\";s:7:\"version\";s:6:\"4.9.26\";s:7:\"updated\";s:19:\"2019-02-16 23:58:56\";s:12:\"english_name\";s:8:\"Javanese\";s:11:\"native_name\";s:9:\"Basa Jawa\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/4.9.26/jv_ID.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"jv\";i:2;s:3:\"jav\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Nerusaké\";}}s:5:\"ka_GE\";a:8:{s:8:\"language\";s:5:\"ka_GE\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-01 06:53:56\";s:12:\"english_name\";s:8:\"Georgian\";s:11:\"native_name\";s:21:\"ქართული\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/ka_GE.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ka\";i:2;s:3:\"kat\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:30:\"გაგრძელება\";}}s:3:\"kab\";a:8:{s:8:\"language\";s:3:\"kab\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2023-07-05 11:40:39\";s:12:\"english_name\";s:6:\"Kabyle\";s:11:\"native_name\";s:9:\"Taqbaylit\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.2.6/kab.zip\";s:3:\"iso\";a:2:{i:2;s:3:\"kab\";i:3;s:3:\"kab\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Kemmel\";}}s:2:\"kk\";a:8:{s:8:\"language\";s:2:\"kk\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-07-18 02:49:24\";s:12:\"english_name\";s:6:\"Kazakh\";s:11:\"native_name\";s:19:\"Қазақ тілі\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/kk.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"kk\";i:2;s:3:\"kaz\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:20:\"Жалғастыру\";}}s:2:\"km\";a:8:{s:8:\"language\";s:2:\"km\";s:7:\"version\";s:6:\"5.2.21\";s:7:\"updated\";s:19:\"2019-06-10 16:18:28\";s:12:\"english_name\";s:5:\"Khmer\";s:11:\"native_name\";s:27:\"ភាសាខ្មែរ\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/5.2.21/km.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"km\";i:2;s:3:\"khm\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:12:\"បន្ត\";}}s:2:\"kn\";a:8:{s:8:\"language\";s:2:\"kn\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-11 19:32:39\";s:12:\"english_name\";s:7:\"Kannada\";s:11:\"native_name\";s:15:\"ಕನ್ನಡ\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/kn.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"kn\";i:2;s:3:\"kan\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:30:\"ಮುಂದುವರಿಸು\";}}s:5:\"ko_KR\";a:8:{s:8:\"language\";s:5:\"ko_KR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-27 00:11:53\";s:12:\"english_name\";s:6:\"Korean\";s:11:\"native_name\";s:9:\"한국어\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/ko_KR.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ko\";i:2;s:3:\"kor\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"계속\";}}s:3:\"ckb\";a:8:{s:8:\"language\";s:3:\"ckb\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-22 19:22:33\";s:12:\"english_name\";s:16:\"Kurdish (Sorani)\";s:11:\"native_name\";s:13:\"كوردی‎\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.7.2/ckb.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ku\";i:3;s:3:\"ckb\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:30:\"به‌رده‌وام به‌\";}}s:3:\"kir\";a:8:{s:8:\"language\";s:3:\"kir\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-25 04:09:28\";s:12:\"english_name\";s:6:\"Kyrgyz\";s:11:\"native_name\";s:16:\"Кыргызча\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.7.2/kir.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"ky\";i:2;s:3:\"kir\";i:3;s:3:\"kir\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:14:\"Улантуу\";}}s:2:\"lo\";a:8:{s:8:\"language\";s:2:\"lo\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-11-12 09:59:23\";s:12:\"english_name\";s:3:\"Lao\";s:11:\"native_name\";s:21:\"ພາສາລາວ\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/4.7.2/lo.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"lo\";i:2;s:3:\"lao\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:18:\"ຕໍ່​ໄປ\";}}s:5:\"lt_LT\";a:8:{s:8:\"language\";s:5:\"lt_LT\";s:7:\"version\";s:5:\"6.5.5\";s:7:\"updated\";s:19:\"2024-06-13 13:11:03\";s:12:\"english_name\";s:10:\"Lithuanian\";s:11:\"native_name\";s:15:\"Lietuvių kalba\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.5.5/lt_LT.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"lt\";i:2;s:3:\"lit\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Tęsti\";}}s:2:\"lv\";a:8:{s:8:\"language\";s:2:\"lv\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-13 10:34:12\";s:12:\"english_name\";s:7:\"Latvian\";s:11:\"native_name\";s:16:\"Latviešu valoda\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/lv.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"lv\";i:2;s:3:\"lav\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Turpināt\";}}s:5:\"mk_MK\";a:8:{s:8:\"language\";s:5:\"mk_MK\";s:7:\"version\";s:5:\"6.0.9\";s:7:\"updated\";s:19:\"2022-10-01 09:23:52\";s:12:\"english_name\";s:10:\"Macedonian\";s:11:\"native_name\";s:31:\"Македонски јазик\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.0.9/mk_MK.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"mk\";i:2;s:3:\"mkd\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:16:\"Продолжи\";}}s:5:\"ml_IN\";a:8:{s:8:\"language\";s:5:\"ml_IN\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-20 16:41:38\";s:12:\"english_name\";s:9:\"Malayalam\";s:11:\"native_name\";s:18:\"മലയാളം\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/ml_IN.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ml\";i:2;s:3:\"mal\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:18:\"തുടരുക\";}}s:2:\"mn\";a:8:{s:8:\"language\";s:2:\"mn\";s:7:\"version\";s:5:\"6.5.5\";s:7:\"updated\";s:19:\"2024-06-20 17:22:06\";s:12:\"english_name\";s:9:\"Mongolian\";s:11:\"native_name\";s:12:\"Монгол\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.5.5/mn.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"mn\";i:2;s:3:\"mon\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:2:\"mr\";a:8:{s:8:\"language\";s:2:\"mr\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-15 06:59:18\";s:12:\"english_name\";s:7:\"Marathi\";s:11:\"native_name\";s:15:\"मराठी\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/mr.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"mr\";i:2;s:3:\"mar\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:25:\"सुरु ठेवा\";}}s:5:\"ms_MY\";a:8:{s:8:\"language\";s:5:\"ms_MY\";s:7:\"version\";s:6:\"5.5.15\";s:7:\"updated\";s:19:\"2022-03-11 13:52:22\";s:12:\"english_name\";s:5:\"Malay\";s:11:\"native_name\";s:13:\"Bahasa Melayu\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/5.5.15/ms_MY.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ms\";i:2;s:3:\"msa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Teruskan\";}}s:5:\"my_MM\";a:8:{s:8:\"language\";s:5:\"my_MM\";s:7:\"version\";s:6:\"4.2.38\";s:7:\"updated\";s:19:\"2017-12-26 11:57:10\";s:12:\"english_name\";s:17:\"Myanmar (Burmese)\";s:11:\"native_name\";s:15:\"ဗမာစာ\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/4.2.38/my_MM.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"my\";i:2;s:3:\"mya\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:54:\"ဆက်လက်လုပ်ဆောင်ပါ။\";}}s:5:\"nb_NO\";a:8:{s:8:\"language\";s:5:\"nb_NO\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-01 17:56:33\";s:12:\"english_name\";s:19:\"Norwegian (Bokmål)\";s:11:\"native_name\";s:13:\"Norsk bokmål\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/nb_NO.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"nb\";i:2;s:3:\"nob\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Fortsett\";}}s:5:\"ne_NP\";a:8:{s:8:\"language\";s:5:\"ne_NP\";s:7:\"version\";s:5:\"6.6.2\";s:7:\"updated\";s:19:\"2024-08-30 11:32:23\";s:12:\"english_name\";s:6:\"Nepali\";s:11:\"native_name\";s:18:\"नेपाली\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.6.2/ne_NP.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ne\";i:2;s:3:\"nep\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:43:\"जारी राख्नुहोस्\";}}s:5:\"nl_BE\";a:8:{s:8:\"language\";s:5:\"nl_BE\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-20 09:36:13\";s:12:\"english_name\";s:15:\"Dutch (Belgium)\";s:11:\"native_name\";s:20:\"Nederlands (België)\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/nl_BE.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"nl\";i:2;s:3:\"nld\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Doorgaan\";}}s:5:\"nl_NL\";a:8:{s:8:\"language\";s:5:\"nl_NL\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-25 20:59:03\";s:12:\"english_name\";s:5:\"Dutch\";s:11:\"native_name\";s:10:\"Nederlands\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/nl_NL.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"nl\";i:2;s:3:\"nld\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Doorgaan\";}}s:12:\"nl_NL_formal\";a:8:{s:8:\"language\";s:12:\"nl_NL_formal\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-25 20:59:35\";s:12:\"english_name\";s:14:\"Dutch (Formal)\";s:11:\"native_name\";s:20:\"Nederlands (Formeel)\";s:7:\"package\";s:71:\"https://downloads.wordpress.org/translation/core/6.7.2/nl_NL_formal.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"nl\";i:2;s:3:\"nld\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Doorgaan\";}}s:5:\"nn_NO\";a:8:{s:8:\"language\";s:5:\"nn_NO\";s:7:\"version\";s:8:\"5.8-beta\";s:7:\"updated\";s:19:\"2021-03-18 10:59:16\";s:12:\"english_name\";s:19:\"Norwegian (Nynorsk)\";s:11:\"native_name\";s:13:\"Norsk nynorsk\";s:7:\"package\";s:67:\"https://downloads.wordpress.org/translation/core/5.8-beta/nn_NO.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"nn\";i:2;s:3:\"nno\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Hald fram\";}}s:3:\"oci\";a:8:{s:8:\"language\";s:3:\"oci\";s:7:\"version\";s:6:\"4.8.25\";s:7:\"updated\";s:19:\"2017-08-25 10:03:08\";s:12:\"english_name\";s:7:\"Occitan\";s:11:\"native_name\";s:7:\"Occitan\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/translation/core/4.8.25/oci.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"oc\";i:2;s:3:\"oci\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Contunhar\";}}s:5:\"pa_IN\";a:8:{s:8:\"language\";s:5:\"pa_IN\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2017-01-16 05:19:43\";s:12:\"english_name\";s:15:\"Panjabi (India)\";s:11:\"native_name\";s:18:\"ਪੰਜਾਬੀ\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/4.7.2/pa_IN.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"pa\";i:2;s:3:\"pan\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:25:\"ਜਾਰੀ ਰੱਖੋ\";}}s:5:\"pl_PL\";a:8:{s:8:\"language\";s:5:\"pl_PL\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-15 16:20:12\";s:12:\"english_name\";s:6:\"Polish\";s:11:\"native_name\";s:6:\"Polski\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/pl_PL.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"pl\";i:2;s:3:\"pol\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Kontynuuj\";}}s:2:\"ps\";a:8:{s:8:\"language\";s:2:\"ps\";s:7:\"version\";s:6:\"4.3.34\";s:7:\"updated\";s:19:\"2015-12-02 21:41:29\";s:12:\"english_name\";s:6:\"Pashto\";s:11:\"native_name\";s:8:\"پښتو\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.3.34/ps.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ps\";i:2;s:3:\"pus\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:19:\"دوام ورکړه\";}}s:10:\"pt_PT_ao90\";a:8:{s:8:\"language\";s:10:\"pt_PT_ao90\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-11-22 09:42:36\";s:12:\"english_name\";s:27:\"Portuguese (Portugal, AO90)\";s:11:\"native_name\";s:17:\"Português (AO90)\";s:7:\"package\";s:69:\"https://downloads.wordpress.org/translation/core/6.7.2/pt_PT_ao90.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"pt\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"pt_BR\";a:8:{s:8:\"language\";s:5:\"pt_BR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-25 12:07:35\";s:12:\"english_name\";s:19:\"Portuguese (Brazil)\";s:11:\"native_name\";s:20:\"Português do Brasil\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/pt_BR.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"pt\";i:2;s:3:\"por\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"pt_PT\";a:8:{s:8:\"language\";s:5:\"pt_PT\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-06 01:20:04\";s:12:\"english_name\";s:21:\"Portuguese (Portugal)\";s:11:\"native_name\";s:10:\"Português\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/pt_PT.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"pt\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:5:\"pt_AO\";a:8:{s:8:\"language\";s:5:\"pt_AO\";s:7:\"version\";s:5:\"6.4.5\";s:7:\"updated\";s:19:\"2023-08-21 12:15:00\";s:12:\"english_name\";s:19:\"Portuguese (Angola)\";s:11:\"native_name\";s:20:\"Português de Angola\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.4.5/pt_AO.zip\";s:3:\"iso\";a:1:{i:1;s:2:\"pt\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuar\";}}s:3:\"rhg\";a:8:{s:8:\"language\";s:3:\"rhg\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-03-16 13:03:18\";s:12:\"english_name\";s:8:\"Rohingya\";s:11:\"native_name\";s:8:\"Ruáinga\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.7.2/rhg.zip\";s:3:\"iso\";a:1:{i:3;s:3:\"rhg\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:5:\"ro_RO\";a:8:{s:8:\"language\";s:5:\"ro_RO\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-26 19:53:28\";s:12:\"english_name\";s:8:\"Romanian\";s:11:\"native_name\";s:8:\"Română\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/ro_RO.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ro\";i:2;s:3:\"ron\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Continuă\";}}s:5:\"ru_RU\";a:8:{s:8:\"language\";s:5:\"ru_RU\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-24 17:37:53\";s:12:\"english_name\";s:7:\"Russian\";s:11:\"native_name\";s:14:\"Русский\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/ru_RU.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ru\";i:2;s:3:\"rus\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:20:\"Продолжить\";}}s:3:\"sah\";a:8:{s:8:\"language\";s:3:\"sah\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2017-01-21 02:06:41\";s:12:\"english_name\";s:5:\"Sakha\";s:11:\"native_name\";s:14:\"Сахалыы\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.7.2/sah.zip\";s:3:\"iso\";a:2:{i:2;s:3:\"sah\";i:3;s:3:\"sah\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:12:\"Салҕаа\";}}s:3:\"snd\";a:8:{s:8:\"language\";s:3:\"snd\";s:7:\"version\";s:6:\"5.4.16\";s:7:\"updated\";s:19:\"2020-07-07 01:53:37\";s:12:\"english_name\";s:6:\"Sindhi\";s:11:\"native_name\";s:8:\"سنڌي\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/translation/core/5.4.16/snd.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"sd\";i:2;s:3:\"snd\";i:3;s:3:\"snd\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:15:\"اڳتي هلو\";}}s:5:\"si_LK\";a:8:{s:8:\"language\";s:5:\"si_LK\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-11-12 06:00:52\";s:12:\"english_name\";s:7:\"Sinhala\";s:11:\"native_name\";s:15:\"සිංහල\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/4.7.2/si_LK.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"si\";i:2;s:3:\"sin\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:44:\"දිගටම කරගෙන යන්න\";}}s:5:\"sk_SK\";a:8:{s:8:\"language\";s:5:\"sk_SK\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-10 11:39:57\";s:12:\"english_name\";s:6:\"Slovak\";s:11:\"native_name\";s:11:\"Slovenčina\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/sk_SK.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"sk\";i:2;s:3:\"slk\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:12:\"Pokračovať\";}}s:3:\"skr\";a:8:{s:8:\"language\";s:3:\"skr\";s:7:\"version\";s:5:\"6.6.2\";s:7:\"updated\";s:19:\"2024-09-21 09:44:08\";s:12:\"english_name\";s:7:\"Saraiki\";s:11:\"native_name\";s:14:\"سرائیکی\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/6.6.2/skr.zip\";s:3:\"iso\";a:1:{i:3;s:3:\"skr\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:17:\"جاری رکھو\";}}s:5:\"sl_SI\";a:8:{s:8:\"language\";s:5:\"sl_SI\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-08-30 07:14:35\";s:12:\"english_name\";s:9:\"Slovenian\";s:11:\"native_name\";s:13:\"Slovenščina\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/sl_SI.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"sl\";i:2;s:3:\"slv\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Nadaljuj\";}}s:2:\"sq\";a:8:{s:8:\"language\";s:2:\"sq\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-01-30 10:26:38\";s:12:\"english_name\";s:8:\"Albanian\";s:11:\"native_name\";s:5:\"Shqip\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/sq.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"sq\";i:2;s:3:\"sqi\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"Vazhdo\";}}s:5:\"sr_RS\";a:8:{s:8:\"language\";s:5:\"sr_RS\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2024-09-20 22:15:56\";s:12:\"english_name\";s:7:\"Serbian\";s:11:\"native_name\";s:23:\"Српски језик\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/sr_RS.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"sr\";i:2;s:3:\"srp\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:14:\"Настави\";}}s:5:\"sv_SE\";a:8:{s:8:\"language\";s:5:\"sv_SE\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-03 17:00:50\";s:12:\"english_name\";s:7:\"Swedish\";s:11:\"native_name\";s:7:\"Svenska\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/sv_SE.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"sv\";i:2;s:3:\"swe\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:9:\"Fortsätt\";}}s:2:\"sw\";a:8:{s:8:\"language\";s:2:\"sw\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-02 07:29:05\";s:12:\"english_name\";s:7:\"Swahili\";s:11:\"native_name\";s:9:\"Kiswahili\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/sw.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"sw\";i:2;s:3:\"swa\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:7:\"Endelea\";}}s:3:\"szl\";a:8:{s:8:\"language\";s:3:\"szl\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-09-24 19:58:14\";s:12:\"english_name\";s:8:\"Silesian\";s:11:\"native_name\";s:17:\"Ślōnskŏ gŏdka\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.7.2/szl.zip\";s:3:\"iso\";a:1:{i:3;s:3:\"szl\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:13:\"Kōntynuować\";}}s:5:\"ta_IN\";a:8:{s:8:\"language\";s:5:\"ta_IN\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2017-01-27 03:22:47\";s:12:\"english_name\";s:5:\"Tamil\";s:11:\"native_name\";s:15:\"தமிழ்\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/4.7.2/ta_IN.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ta\";i:2;s:3:\"tam\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:24:\"தொடரவும்\";}}s:5:\"ta_LK\";a:8:{s:8:\"language\";s:5:\"ta_LK\";s:7:\"version\";s:6:\"4.2.38\";s:7:\"updated\";s:19:\"2015-12-03 01:07:44\";s:12:\"english_name\";s:17:\"Tamil (Sri Lanka)\";s:11:\"native_name\";s:15:\"தமிழ்\";s:7:\"package\";s:65:\"https://downloads.wordpress.org/translation/core/4.2.38/ta_LK.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ta\";i:2;s:3:\"tam\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:18:\"தொடர்க\";}}s:2:\"te\";a:8:{s:8:\"language\";s:2:\"te\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2017-01-26 15:47:39\";s:12:\"english_name\";s:6:\"Telugu\";s:11:\"native_name\";s:18:\"తెలుగు\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/4.7.2/te.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"te\";i:2;s:3:\"tel\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:30:\"కొనసాగించు\";}}s:2:\"th\";a:8:{s:8:\"language\";s:2:\"th\";s:7:\"version\";s:6:\"5.8.10\";s:7:\"updated\";s:19:\"2022-06-08 04:30:30\";s:12:\"english_name\";s:4:\"Thai\";s:11:\"native_name\";s:9:\"ไทย\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/5.8.10/th.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"th\";i:2;s:3:\"tha\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:15:\"ต่อไป\";}}s:2:\"tl\";a:8:{s:8:\"language\";s:2:\"tl\";s:7:\"version\";s:6:\"4.8.25\";s:7:\"updated\";s:19:\"2017-09-30 09:04:29\";s:12:\"english_name\";s:7:\"Tagalog\";s:11:\"native_name\";s:7:\"Tagalog\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.8.25/tl.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"tl\";i:2;s:3:\"tgl\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:10:\"Magpatuloy\";}}s:5:\"tr_TR\";a:8:{s:8:\"language\";s:5:\"tr_TR\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-14 00:21:51\";s:12:\"english_name\";s:7:\"Turkish\";s:11:\"native_name\";s:8:\"Türkçe\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/tr_TR.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"tr\";i:2;s:3:\"tur\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:5:\"Devam\";}}s:5:\"tt_RU\";a:8:{s:8:\"language\";s:5:\"tt_RU\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-11-20 20:20:50\";s:12:\"english_name\";s:5:\"Tatar\";s:11:\"native_name\";s:19:\"Татар теле\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/4.7.2/tt_RU.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"tt\";i:2;s:3:\"tat\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:17:\"дәвам итү\";}}s:3:\"tah\";a:8:{s:8:\"language\";s:3:\"tah\";s:7:\"version\";s:5:\"4.7.2\";s:7:\"updated\";s:19:\"2016-03-06 18:39:39\";s:12:\"english_name\";s:8:\"Tahitian\";s:11:\"native_name\";s:10:\"Reo Tahiti\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/4.7.2/tah.zip\";s:3:\"iso\";a:3:{i:1;s:2:\"ty\";i:2;s:3:\"tah\";i:3;s:3:\"tah\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:8:\"Continue\";}}s:5:\"ug_CN\";a:8:{s:8:\"language\";s:5:\"ug_CN\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-03 01:12:45\";s:12:\"english_name\";s:6:\"Uighur\";s:11:\"native_name\";s:16:\"ئۇيغۇرچە\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/ug_CN.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ug\";i:2;s:3:\"uig\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:26:\"داۋاملاشتۇرۇش\";}}s:2:\"uk\";a:8:{s:8:\"language\";s:2:\"uk\";s:7:\"version\";s:5:\"6.4.5\";s:7:\"updated\";s:19:\"2024-03-06 18:52:07\";s:12:\"english_name\";s:9:\"Ukrainian\";s:11:\"native_name\";s:20:\"Українська\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.4.5/uk.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"uk\";i:2;s:3:\"ukr\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:20:\"Продовжити\";}}s:2:\"ur\";a:8:{s:8:\"language\";s:2:\"ur\";s:7:\"version\";s:6:\"5.4.16\";s:7:\"updated\";s:19:\"2020-04-09 11:17:33\";s:12:\"english_name\";s:4:\"Urdu\";s:11:\"native_name\";s:8:\"اردو\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/translation/core/5.4.16/ur.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"ur\";i:2;s:3:\"urd\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:19:\"جاری رکھیں\";}}s:5:\"uz_UZ\";a:8:{s:8:\"language\";s:5:\"uz_UZ\";s:7:\"version\";s:8:\"5.8-beta\";s:7:\"updated\";s:19:\"2021-02-28 12:02:22\";s:12:\"english_name\";s:5:\"Uzbek\";s:11:\"native_name\";s:11:\"O‘zbekcha\";s:7:\"package\";s:67:\"https://downloads.wordpress.org/translation/core/5.8-beta/uz_UZ.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"uz\";i:2;s:3:\"uzb\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:11:\"Davom etish\";}}s:2:\"vi\";a:8:{s:8:\"language\";s:2:\"vi\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-23 02:18:04\";s:12:\"english_name\";s:10:\"Vietnamese\";s:11:\"native_name\";s:14:\"Tiếng Việt\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/translation/core/6.7.2/vi.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"vi\";i:2;s:3:\"vie\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:12:\"Tiếp tục\";}}s:5:\"zh_TW\";a:8:{s:8:\"language\";s:5:\"zh_TW\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-02-12 08:54:01\";s:12:\"english_name\";s:16:\"Chinese (Taiwan)\";s:11:\"native_name\";s:12:\"繁體中文\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/zh_TW.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"zh\";i:2;s:3:\"zho\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"繼續\";}}s:5:\"zh_CN\";a:8:{s:8:\"language\";s:5:\"zh_CN\";s:7:\"version\";s:5:\"6.7.2\";s:7:\"updated\";s:19:\"2025-03-26 06:53:42\";s:12:\"english_name\";s:15:\"Chinese (China)\";s:11:\"native_name\";s:12:\"简体中文\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.7.2/zh_CN.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"zh\";i:2;s:3:\"zho\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"继续\";}}s:5:\"zh_HK\";a:8:{s:8:\"language\";s:5:\"zh_HK\";s:7:\"version\";s:5:\"6.2.6\";s:7:\"updated\";s:19:\"2022-07-15 15:25:03\";s:12:\"english_name\";s:19:\"Chinese (Hong Kong)\";s:11:\"native_name\";s:12:\"香港中文\";s:7:\"package\";s:64:\"https://downloads.wordpress.org/translation/core/6.2.6/zh_HK.zip\";s:3:\"iso\";a:2:{i:1;s:2:\"zh\";i:2;s:3:\"zho\";}s:7:\"strings\";a:1:{s:8:\"continue\";s:6:\"繼續\";}}}','off'),(203,'category_children','a:0:{}','auto'),(231,'_site_transient_update_themes','O:8:\"stdClass\":5:{s:12:\"last_checked\";i:1743164721;s:7:\"checked\";a:15:{s:12:\"twentyeleven\";s:3:\"4.8\";s:13:\"twentyfifteen\";s:3:\"3.9\";s:14:\"twentyfourteen\";s:3:\"4.1\";s:14:\"twentynineteen\";s:3:\"3.0\";s:15:\"twentyseventeen\";s:3:\"3.8\";s:13:\"twentysixteen\";s:3:\"3.4\";s:9:\"twentyten\";s:3:\"4.3\";s:14:\"twentythirteen\";s:3:\"4.3\";s:12:\"twentytwelve\";s:3:\"4.4\";s:12:\"twentytwenty\";s:3:\"2.8\";s:16:\"twentytwentyfive\";s:3:\"1.0\";s:16:\"twentytwentyfour\";s:3:\"1.3\";s:15:\"twentytwentyone\";s:3:\"2.4\";s:17:\"twentytwentythree\";s:3:\"1.6\";s:15:\"twentytwentytwo\";s:3:\"1.9\";}s:8:\"response\";a:1:{s:16:\"twentytwentyfive\";a:6:{s:5:\"theme\";s:16:\"twentytwentyfive\";s:11:\"new_version\";s:3:\"1.1\";s:3:\"url\";s:46:\"https://wordpress.org/themes/twentytwentyfive/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/theme/twentytwentyfive.1.1.zip\";s:8:\"requires\";s:3:\"6.7\";s:12:\"requires_php\";s:3:\"7.2\";}}s:9:\"no_update\";a:14:{s:12:\"twentyeleven\";a:6:{s:5:\"theme\";s:12:\"twentyeleven\";s:11:\"new_version\";s:3:\"4.8\";s:3:\"url\";s:42:\"https://wordpress.org/themes/twentyeleven/\";s:7:\"package\";s:58:\"https://downloads.wordpress.org/theme/twentyeleven.4.8.zip\";s:8:\"requires\";s:3:\"3.2\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:13:\"twentyfifteen\";a:6:{s:5:\"theme\";s:13:\"twentyfifteen\";s:11:\"new_version\";s:3:\"3.9\";s:3:\"url\";s:43:\"https://wordpress.org/themes/twentyfifteen/\";s:7:\"package\";s:59:\"https://downloads.wordpress.org/theme/twentyfifteen.3.9.zip\";s:8:\"requires\";s:3:\"4.1\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:14:\"twentyfourteen\";a:6:{s:5:\"theme\";s:14:\"twentyfourteen\";s:11:\"new_version\";s:3:\"4.1\";s:3:\"url\";s:44:\"https://wordpress.org/themes/twentyfourteen/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/theme/twentyfourteen.4.1.zip\";s:8:\"requires\";s:3:\"3.6\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:14:\"twentynineteen\";a:6:{s:5:\"theme\";s:14:\"twentynineteen\";s:11:\"new_version\";s:3:\"3.0\";s:3:\"url\";s:44:\"https://wordpress.org/themes/twentynineteen/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/theme/twentynineteen.3.0.zip\";s:8:\"requires\";s:3:\"4.7\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:15:\"twentyseventeen\";a:6:{s:5:\"theme\";s:15:\"twentyseventeen\";s:11:\"new_version\";s:3:\"3.8\";s:3:\"url\";s:45:\"https://wordpress.org/themes/twentyseventeen/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/theme/twentyseventeen.3.8.zip\";s:8:\"requires\";s:3:\"4.7\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:13:\"twentysixteen\";a:6:{s:5:\"theme\";s:13:\"twentysixteen\";s:11:\"new_version\";s:3:\"3.4\";s:3:\"url\";s:43:\"https://wordpress.org/themes/twentysixteen/\";s:7:\"package\";s:59:\"https://downloads.wordpress.org/theme/twentysixteen.3.4.zip\";s:8:\"requires\";s:3:\"4.4\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:9:\"twentyten\";a:6:{s:5:\"theme\";s:9:\"twentyten\";s:11:\"new_version\";s:3:\"4.3\";s:3:\"url\";s:39:\"https://wordpress.org/themes/twentyten/\";s:7:\"package\";s:55:\"https://downloads.wordpress.org/theme/twentyten.4.3.zip\";s:8:\"requires\";s:3:\"3.0\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:14:\"twentythirteen\";a:6:{s:5:\"theme\";s:14:\"twentythirteen\";s:11:\"new_version\";s:3:\"4.3\";s:3:\"url\";s:44:\"https://wordpress.org/themes/twentythirteen/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/theme/twentythirteen.4.3.zip\";s:8:\"requires\";s:3:\"3.6\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:12:\"twentytwelve\";a:6:{s:5:\"theme\";s:12:\"twentytwelve\";s:11:\"new_version\";s:3:\"4.4\";s:3:\"url\";s:42:\"https://wordpress.org/themes/twentytwelve/\";s:7:\"package\";s:58:\"https://downloads.wordpress.org/theme/twentytwelve.4.4.zip\";s:8:\"requires\";s:3:\"3.5\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:12:\"twentytwenty\";a:6:{s:5:\"theme\";s:12:\"twentytwenty\";s:11:\"new_version\";s:3:\"2.8\";s:3:\"url\";s:42:\"https://wordpress.org/themes/twentytwenty/\";s:7:\"package\";s:58:\"https://downloads.wordpress.org/theme/twentytwenty.2.8.zip\";s:8:\"requires\";s:3:\"4.7\";s:12:\"requires_php\";s:5:\"5.2.4\";}s:16:\"twentytwentyfour\";a:6:{s:5:\"theme\";s:16:\"twentytwentyfour\";s:11:\"new_version\";s:3:\"1.3\";s:3:\"url\";s:46:\"https://wordpress.org/themes/twentytwentyfour/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/theme/twentytwentyfour.1.3.zip\";s:8:\"requires\";s:3:\"6.4\";s:12:\"requires_php\";s:3:\"7.0\";}s:15:\"twentytwentyone\";a:6:{s:5:\"theme\";s:15:\"twentytwentyone\";s:11:\"new_version\";s:3:\"2.4\";s:3:\"url\";s:45:\"https://wordpress.org/themes/twentytwentyone/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/theme/twentytwentyone.2.4.zip\";s:8:\"requires\";s:3:\"5.3\";s:12:\"requires_php\";s:3:\"5.6\";}s:17:\"twentytwentythree\";a:6:{s:5:\"theme\";s:17:\"twentytwentythree\";s:11:\"new_version\";s:3:\"1.6\";s:3:\"url\";s:47:\"https://wordpress.org/themes/twentytwentythree/\";s:7:\"package\";s:63:\"https://downloads.wordpress.org/theme/twentytwentythree.1.6.zip\";s:8:\"requires\";s:3:\"6.1\";s:12:\"requires_php\";s:3:\"5.6\";}s:15:\"twentytwentytwo\";a:6:{s:5:\"theme\";s:15:\"twentytwentytwo\";s:11:\"new_version\";s:3:\"1.9\";s:3:\"url\";s:45:\"https://wordpress.org/themes/twentytwentytwo/\";s:7:\"package\";s:61:\"https://downloads.wordpress.org/theme/twentytwentytwo.1.9.zip\";s:8:\"requires\";s:3:\"5.9\";s:12:\"requires_php\";s:3:\"5.6\";}}s:12:\"translations\";a:0:{}}','off'),(232,'_site_transient_timeout_wp_theme_files_patterns-66299d9a5412abf2007e79a740a3d4ab','1743163869','off'),(233,'_site_transient_wp_theme_files_patterns-66299d9a5412abf2007e79a740a3d4ab','a:2:{s:7:\"version\";s:3:\"1.0\";s:8:\"patterns\";a:98:{s:21:\"banner-about-book.php\";a:4:{s:5:\"title\";s:28:\"Banner with book description\";s:4:\"slug\";s:34:\"twentytwentyfive/banner-about-book\";s:11:\"description\";s:66:\"Banner with book description and accompanying image for promotion.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:28:\"banner-cover-big-heading.php\";a:4:{s:5:\"title\";s:22:\"Cover with big heading\";s:4:\"slug\";s:41:\"twentytwentyfive/banner-cover-big-heading\";s:11:\"description\";s:82:\"A full-width cover section with a large background image and an oversized heading.\";s:10:\"categories\";a:3:{i:0;s:6:\"banner\";i:1;s:5:\"about\";i:2;s:8:\"featured\";}}s:22:\"banner-intro-image.php\";a:4:{s:5:\"title\";s:49:\"Short heading and paragraph and image on the left\";s:4:\"slug\";s:35:\"twentytwentyfive/banner-intro-image\";s:11:\"description\";s:68:\"A Intro pattern with Short heading, paragraph and image on the left.\";s:10:\"categories\";a:2:{i:0;s:6:\"banner\";i:1;s:8:\"featured\";}}s:16:\"banner-intro.php\";a:4:{s:5:\"title\";s:35:\"Intro with left-aligned description\";s:4:\"slug\";s:29:\"twentytwentyfive/banner-intro\";s:11:\"description\";s:66:\"A large left-aligned heading with a brand name emphasized in bold.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:17:\"banner-poster.php\";a:4:{s:5:\"title\";s:19:\"Poster-like section\";s:4:\"slug\";s:30:\"twentytwentyfive/banner-poster\";s:11:\"description\";s:78:\"A section that can be used as a banner or a landing page to announce an event.\";s:10:\"categories\";a:2:{i:0;s:6:\"banner\";i:1;s:5:\"media\";}}s:43:\"banner-with-description-and-images-grid.php\";a:4:{s:5:\"title\";s:39:\"Banner with description and images grid\";s:4:\"slug\";s:47:\"twentytwentyfive/banner-description-images-grid\";s:11:\"description\";s:75:\"A banner with a short paragraph, and two images displayed in a grid layout.\";s:10:\"categories\";a:2:{i:0;s:6:\"banner\";i:1;s:8:\"featured\";}}s:18:\"binding-format.php\";a:4:{s:5:\"title\";s:16:\"Post format name\";s:4:\"slug\";s:31:\"twentytwentyfive/binding-format\";s:11:\"description\";s:75:\"Prints the name of the post format with the help of the Block Bindings API.\";s:10:\"categories\";a:1:{i:0;s:28:\"twentytwentyfive_post-format\";}}s:12:\"comments.php\";a:5:{s:5:\"title\";s:8:\"Comments\";s:4:\"slug\";s:25:\"twentytwentyfive/comments\";s:11:\"description\";s:63:\"Comments area with comments list, pagination, and comment form.\";s:10:\"categories\";a:1:{i:0;s:4:\"text\";}s:10:\"blockTypes\";a:1:{i:0;s:13:\"core/comments\";}}s:32:\"contact-centered-social-link.php\";a:5:{s:5:\"title\";s:30:\"Centered link and social links\";s:4:\"slug\";s:45:\"twentytwentyfive/contact-centered-social-link\";s:11:\"description\";s:73:\"Centered contact section with a prominent message and social media links.\";s:10:\"categories\";a:1:{i:0;s:7:\"contact\";}s:8:\"keywords\";a:3:{i:0;s:7:\"contact\";i:1;s:3:\"faq\";i:2;s:9:\"questions\";}}s:26:\"contact-info-locations.php\";a:6:{s:5:\"title\";s:27:\"Contact, info and locations\";s:4:\"slug\";s:39:\"twentytwentyfive/contact-info-locations\";s:11:\"description\";s:78:\"Contact section with social media links, email, and multiple location details.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:7:\"contact\";}s:8:\"keywords\";a:2:{i:0;s:7:\"contact\";i:1;s:8:\"location\";}}s:29:\"contact-location-and-link.php\";a:4:{s:5:\"title\";s:25:\"Contact location and link\";s:4:\"slug\";s:42:\"twentytwentyfive/contact-location-and-link\";s:11:\"description\";s:89:\"Contact section with a location address, a directions link, and an image of the location.\";s:10:\"categories\";a:2:{i:0;s:7:\"contact\";i:1;s:8:\"featured\";}}s:18:\"cta-book-links.php\";a:4:{s:5:\"title\";s:30:\"Call to action with book links\";s:4:\"slug\";s:31:\"twentytwentyfive/cta-book-links\";s:11:\"description\";s:74:\"A call to action section with links to get the book in different websites.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:22:\"cta-book-locations.php\";a:4:{s:5:\"title\";s:29:\"Call to action with locations\";s:4:\"slug\";s:35:\"twentytwentyfive/cta-book-locations\";s:11:\"description\";s:82:\"A call to action section with links to get the book in the most popular locations.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:24:\"cta-centered-heading.php\";a:4:{s:5:\"title\";s:16:\"Centered heading\";s:4:\"slug\";s:37:\"twentytwentyfive/cta-centered-heading\";s:11:\"description\";s:53:\"A hero with a centered heading, paragraph and button.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:19:\"cta-events-list.php\";a:4:{s:5:\"title\";s:11:\"Events list\";s:4:\"slug\";s:32:\"twentytwentyfive/cta-events-list\";s:11:\"description\";s:37:\"A list of events with call to action.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:26:\"cta-grid-products-link.php\";a:5:{s:5:\"title\";s:54:\"Call to action with grid layout with products and link\";s:4:\"slug\";s:39:\"twentytwentyfive/cta-grid-products-link\";s:11:\"description\";s:42:\"A call to action featuring product images.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:14:\"call-to-action\";i:1;s:8:\"featured\";}}s:22:\"cta-heading-search.php\";a:4:{s:5:\"title\";s:23:\"Heading and search form\";s:4:\"slug\";s:35:\"twentytwentyfive/cta-heading-search\";s:11:\"description\";s:54:\"Large heading with a search form for quick navigation.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:18:\"cta-newsletter.php\";a:5:{s:5:\"title\";s:18:\"Newsletter sign-up\";s:4:\"slug\";s:31:\"twentytwentyfive/cta-newsletter\";s:11:\"description\";s:0:\"\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}s:8:\"keywords\";a:2:{i:0;s:14:\"call-to-action\";i:1;s:10:\"newsletter\";}}s:15:\"event-3-col.php\";a:5:{s:5:\"title\";s:46:\"Events, 3 columns with event images and titles\";s:4:\"slug\";s:28:\"twentytwentyfive/event-3-col\";s:11:\"description\";s:95:\"A header with title and text and three columns that show 3 events with their images and titles.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}s:8:\"keywords\";a:3:{i:0;s:6:\"events\";i:1;s:7:\"columns\";i:2;s:6:\"images\";}}s:14:\"event-rsvp.php\";a:7:{s:5:\"title\";s:10:\"Event RSVP\";s:4:\"slug\";s:27:\"twentytwentyfive/event-rsvp\";s:11:\"description\";s:64:\"RSVP for an upcoming event with a cover image and event details.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}s:8:\"keywords\";a:3:{i:0;s:14:\"call-to-action\";i:1;s:4:\"rsvp\";i:2;s:5:\"event\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:18:\"event-schedule.php\";a:5:{s:5:\"title\";s:14:\"Event schedule\";s:4:\"slug\";s:31:\"twentytwentyfive/event-schedule\";s:11:\"description\";s:54:\"A section with specified dates and times for an event.\";s:10:\"categories\";a:1:{i:0;s:5:\"about\";}s:8:\"keywords\";a:4:{i:0;s:6:\"events\";i:1;s:6:\"agenda\";i:2;s:8:\"schedule\";i:3;s:8:\"lectures\";}}s:19:\"footer-centered.php\";a:5:{s:5:\"title\";s:15:\"Centered footer\";s:4:\"slug\";s:32:\"twentytwentyfive/footer-centered\";s:11:\"description\";s:44:\"Footer with centered site title and tagline.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:18:\"footer-columns.php\";a:5:{s:5:\"title\";s:19:\"Footer with columns\";s:4:\"slug\";s:31:\"twentytwentyfive/footer-columns\";s:11:\"description\";s:45:\"Footer columns with title, tagline and links.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:21:\"footer-newsletter.php\";a:5:{s:5:\"title\";s:29:\"Footer with newsletter signup\";s:4:\"slug\";s:34:\"twentytwentyfive/footer-newsletter\";s:11:\"description\";s:51:\"Footer with large site title and newsletter signup.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:17:\"footer-social.php\";a:5:{s:5:\"title\";s:33:\"Centered footer with social links\";s:4:\"slug\";s:30:\"twentytwentyfive/footer-social\";s:11:\"description\";s:49:\"Footer with centered site title and social links.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:10:\"footer.php\";a:5:{s:5:\"title\";s:6:\"Footer\";s:4:\"slug\";s:23:\"twentytwentyfive/footer\";s:11:\"description\";s:51:\"Footer columns with logo, title, tagline and links.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:16:\"format-audio.php\";a:4:{s:5:\"title\";s:12:\"Audio format\";s:4:\"slug\";s:29:\"twentytwentyfive/format-audio\";s:11:\"description\";s:73:\"An audio post format with an image, title, audio player, and description.\";s:10:\"categories\";a:1:{i:0;s:28:\"twentytwentyfive_post-format\";}}s:15:\"format-link.php\";a:4:{s:5:\"title\";s:11:\"Link format\";s:4:\"slug\";s:28:\"twentytwentyfive/format-link\";s:11:\"description\";s:77:\"A link post format with a description and an emphasized link for key content.\";s:10:\"categories\";a:1:{i:0;s:28:\"twentytwentyfive_post-format\";}}s:15:\"grid-videos.php\";a:4:{s:5:\"title\";s:16:\"Grid with videos\";s:4:\"slug\";s:28:\"twentytwentyfive/grid-videos\";s:11:\"description\";s:19:\"A grid with videos.\";s:10:\"categories\";a:1:{i:0;s:5:\"about\";}}s:24:\"grid-with-categories.php\";a:5:{s:5:\"title\";s:20:\"Grid with categories\";s:4:\"slug\";s:37:\"twentytwentyfive/grid-with-categories\";s:11:\"description\";s:41:\"A grid section with different categories.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:19:\"header-centered.php\";a:5:{s:5:\"title\";s:15:\"Centered header\";s:4:\"slug\";s:32:\"twentytwentyfive/header-centered\";s:11:\"description\";s:47:\"Header with centered site title and navigation.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:18:\"header-columns.php\";a:5:{s:5:\"title\";s:19:\"Header with columns\";s:4:\"slug\";s:31:\"twentytwentyfive/header-columns\";s:11:\"description\";s:49:\"Header with site title and navigation in columns.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:22:\"header-large-title.php\";a:5:{s:5:\"title\";s:23:\"Header with large title\";s:4:\"slug\";s:35:\"twentytwentyfive/header-large-title\";s:11:\"description\";s:58:\"Header with large site title and right-aligned navigation.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:10:\"header.php\";a:5:{s:5:\"title\";s:6:\"Header\";s:4:\"slug\";s:23:\"twentytwentyfive/header\";s:11:\"description\";s:38:\"Header with site title and navigation.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:36:\"heading-and-paragraph-with-image.php\";a:4:{s:5:\"title\";s:45:\"Heading and paragraph with image on the right\";s:4:\"slug\";s:49:\"twentytwentyfive/heading-and-paragraph-with-image\";s:11:\"description\";s:89:\"A two-column section with a heading and paragraph on the left, and an image on the right.\";s:10:\"categories\";a:1:{i:0;s:5:\"about\";}}s:13:\"hero-book.php\";a:5:{s:5:\"title\";s:9:\"Hero book\";s:4:\"slug\";s:26:\"twentytwentyfive/hero-book\";s:11:\"description\";s:66:\"A hero section for the book with a description and pre-order link.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}s:8:\"keywords\";a:3:{i:0;s:7:\"podcast\";i:1;s:4:\"hero\";i:2;s:7:\"stories\";}}s:25:\"hero-full-width-image.php\";a:4:{s:5:\"title\";s:22:\"Hero, full width image\";s:4:\"slug\";s:38:\"twentytwentyfive/hero-full-width-image\";s:11:\"description\";s:68:\"A hero with a full width image, heading, short paragraph and button.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:41:\"hero-overlapped-book-cover-with-links.php\";a:4:{s:5:\"title\";s:38:\"Hero, overlapped book cover with links\";s:4:\"slug\";s:54:\"twentytwentyfive/hero-overlapped-book-cover-with-links\";s:11:\"description\";s:47:\"A hero with an overlapped book cover and links.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:16:\"hero-podcast.php\";a:5:{s:5:\"title\";s:12:\"Hero podcast\";s:4:\"slug\";s:29:\"twentytwentyfive/hero-podcast\";s:11:\"description\";s:0:\"\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}s:8:\"keywords\";a:3:{i:0;s:7:\"podcast\";i:1;s:4:\"hero\";i:2;s:7:\"stories\";}}s:14:\"hidden-404.php\";a:4:{s:5:\"title\";s:3:\"404\";s:4:\"slug\";s:27:\"twentytwentyfive/hidden-404\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:23:\"hidden-blog-heading.php\";a:4:{s:5:\"title\";s:19:\"Hidden blog heading\";s:4:\"slug\";s:36:\"twentytwentyfive/hidden-blog-heading\";s:11:\"description\";s:52:\"Hidden heading for the home page and index template.\";s:8:\"inserter\";b:0;}s:17:\"hidden-search.php\";a:4:{s:5:\"title\";s:6:\"Search\";s:4:\"slug\";s:30:\"twentytwentyfive/hidden-search\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:18:\"hidden-sidebar.php\";a:4:{s:5:\"title\";s:7:\"Sidebar\";s:4:\"slug\";s:31:\"twentytwentyfive/hidden-sidebar\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:21:\"hidden-written-by.php\";a:4:{s:5:\"title\";s:10:\"Written by\";s:4:\"slug\";s:34:\"twentytwentyfive/hidden-written-by\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:9:\"logos.php\";a:4:{s:5:\"title\";s:5:\"Logos\";s:4:\"slug\";s:22:\"twentytwentyfive/logos\";s:11:\"description\";s:77:\"Showcasing the podcast\'s clients with a heading and a series of client logos.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:24:\"media-instagram-grid.php\";a:5:{s:5:\"title\";s:14:\"Instagram grid\";s:4:\"slug\";s:37:\"twentytwentyfive/media-instagram-grid\";s:11:\"description\";s:62:\"A grid section with photos and a link to an Instagram profile.\";s:13:\"viewportWidth\";i:1440;s:10:\"categories\";a:3:{i:0;s:5:\"media\";i:1;s:7:\"gallery\";i:2;s:8:\"featured\";}}s:14:\"more-posts.php\";a:5:{s:5:\"title\";s:10:\"More posts\";s:4:\"slug\";s:27:\"twentytwentyfive/more-posts\";s:11:\"description\";s:45:\"Displays a list of posts with title and date.\";s:10:\"categories\";a:1:{i:0;s:5:\"query\";}s:10:\"blockTypes\";a:1:{i:0;s:10:\"core/query\";}}s:21:\"overlapped-images.php\";a:4:{s:5:\"title\";s:41:\"Overlapping images and paragraph on right\";s:4:\"slug\";s:34:\"twentytwentyfive/overlapped-images\";s:11:\"description\";s:53:\"A section with overlapping images, and a description.\";s:10:\"categories\";a:2:{i:0;s:5:\"about\";i:1;s:8:\"featured\";}}s:22:\"page-business-home.php\";a:8:{s:5:\"title\";s:17:\"Business homepage\";s:4:\"slug\";s:35:\"twentytwentyfive/page-business-home\";s:11:\"description\";s:28:\"A business homepage pattern.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:20:\"page-coming-soon.php\";a:8:{s:5:\"title\";s:11:\"Coming soon\";s:4:\"slug\";s:33:\"twentytwentyfive/page-coming-soon\";s:11:\"description\";s:96:\"A full-width cover banner that can be applied to a page or it can work as a single landing page.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:15:\"page-cv-bio.php\";a:7:{s:5:\"title\";s:6:\"CV/bio\";s:4:\"slug\";s:28:\"twentytwentyfive/page-cv-bio\";s:11:\"description\";s:36:\"A pattern for a CV/Bio landing page.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:3:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:5:\"about\";i:2;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:21:\"page-landing-book.php\";a:8:{s:5:\"title\";s:21:\"Landing page for book\";s:4:\"slug\";s:34:\"twentytwentyfive/page-landing-book\";s:11:\"description\";s:104:\"A landing page for the book with a hero section, pre-order links, locations, FAQs and newsletter signup.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:22:\"page-landing-event.php\";a:8:{s:5:\"title\";s:22:\"Landing page for event\";s:4:\"slug\";s:35:\"twentytwentyfive/page-landing-event\";s:11:\"description\";s:87:\"A landing page for the event with a hero section, description, FAQs and call to action.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:24:\"page-landing-podcast.php\";a:8:{s:5:\"title\";s:24:\"Landing page for podcast\";s:4:\"slug\";s:37:\"twentytwentyfive/page-landing-podcast\";s:11:\"description\";s:111:\"A landing page for the podcast with a hero section, description, logos, grid with videos and newsletter signup.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:50:\"page-link-in-bio-heading-paragraph-links-image.php\";a:7:{s:5:\"title\";s:59:\"Link in bio heading, paragraph, links and full-height image\";s:4:\"slug\";s:63:\"twentytwentyfive/page-link-in-bio-heading-paragraph-links-image\";s:11:\"description\";s:84:\"A link in bio landing page with a heading, paragraph, links and a full height image.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:3:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:6:\"banner\";i:2;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:33:\"page-link-in-bio-wide-margins.php\";a:7:{s:5:\"title\";s:48:\"Link in bio with profile, links and wide margins\";s:4:\"slug\";s:46:\"twentytwentyfive/page-link-in-bio-wide-margins\";s:11:\"description\";s:86:\"A link in bio landing page with social links, a profile photo and a brief description.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:3:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:6:\"banner\";i:2;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:39:\"page-link-in-bio-with-tight-margins.php\";a:8:{s:5:\"title\";s:30:\"Link in bio with tight margins\";s:4:\"slug\";s:52:\"twentytwentyfive/page-link-in-bio-with-tight-margins\";s:11:\"description\";s:90:\"A full-width, full-height link in bio section with an image, a paragraph and social links.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:6:\"banner\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:23:\"page-portfolio-home.php\";a:8:{s:5:\"title\";s:18:\"Portfolio homepage\";s:4:\"slug\";s:36:\"twentytwentyfive/page-portfolio-home\";s:11:\"description\";s:29:\"A portfolio homepage pattern.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:5:\"posts\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:18:\"page-shop-home.php\";a:8:{s:5:\"title\";s:13:\"Shop homepage\";s:4:\"slug\";s:31:\"twentytwentyfive/page-shop-home\";s:11:\"description\";s:24:\"A shop homepage pattern.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:21:\"twentytwentyfive_page\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:19:\"post-navigation.php\";a:5:{s:5:\"title\";s:15:\"Post navigation\";s:4:\"slug\";s:32:\"twentytwentyfive/post-navigation\";s:11:\"description\";s:29:\"Next and previous post links.\";s:10:\"categories\";a:1:{i:0;s:4:\"text\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/post-navigation-link\";}}s:17:\"pricing-2-col.php\";a:5:{s:5:\"title\";s:18:\"Pricing, 2 columns\";s:4:\"slug\";s:30:\"twentytwentyfive/pricing-2-col\";s:11:\"description\";s:88:\"Pricing section with two columns, pricing plan, description, and call-to-action buttons.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:17:\"pricing-3-col.php\";a:4:{s:5:\"title\";s:18:\"Pricing, 3 columns\";s:4:\"slug\";s:30:\"twentytwentyfive/pricing-3-col\";s:11:\"description\";s:100:\"A three-column boxed pricing table designed to showcase services, descriptions, and pricing options.\";s:10:\"categories\";a:3:{i:0;s:14:\"call-to-action\";i:1;s:6:\"banner\";i:2;s:8:\"services\";}}s:18:\"services-3-col.php\";a:4:{s:5:\"title\";s:19:\"Services, 3 columns\";s:4:\"slug\";s:31:\"twentytwentyfive/services-3-col\";s:11:\"description\";s:56:\"Three columns with images and text to showcase services.\";s:10:\"categories\";a:3:{i:0;s:14:\"call-to-action\";i:1;s:6:\"banner\";i:2;s:8:\"services\";}}s:36:\"services-subscriber-only-section.php\";a:4:{s:5:\"title\";s:33:\"Services, subscriber only section\";s:4:\"slug\";s:49:\"twentytwentyfive/services-subscriber-only-section\";s:11:\"description\";s:72:\"A subscriber-only section highlighting exclusive services and offerings.\";s:10:\"categories\";a:2:{i:0;s:14:\"call-to-action\";i:1;s:8:\"services\";}}s:24:\"services-team-photos.php\";a:4:{s:5:\"title\";s:21:\"Services, team photos\";s:4:\"slug\";s:37:\"twentytwentyfive/services-team-photos\";s:11:\"description\";s:59:\"Display team photos in a services section with grid layout.\";s:10:\"categories\";a:3:{i:0;s:6:\"banner\";i:1;s:14:\"call-to-action\";i:2;s:8:\"featured\";}}s:37:\"template-404-vertical-header-blog.php\";a:5:{s:5:\"title\";s:23:\"Right-aligned blog, 404\";s:4:\"slug\";s:50:\"twentytwentyfive/template-404-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:13:\"templateTypes\";a:1:{i:0;s:3:\"404\";}}s:30:\"template-archive-news-blog.php\";a:6:{s:5:\"title\";s:17:\"News blog archive\";s:4:\"slug\";s:43:\"twentytwentyfive/template-archive-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:31:\"template-archive-photo-blog.php\";a:6:{s:5:\"title\";s:18:\"Photo blog archive\";s:4:\"slug\";s:44:\"twentytwentyfive/template-archive-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:30:\"template-archive-text-blog.php\";a:6:{s:5:\"title\";s:23:\"Text-only blog, archive\";s:4:\"slug\";s:43:\"twentytwentyfive/template-archive-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:41:\"template-archive-vertical-header-blog.php\";a:6:{s:5:\"title\";s:34:\"Archive for the right-aligned blog\";s:4:\"slug\";s:54:\"twentytwentyfive/template-archive-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:27:\"template-home-news-blog.php\";a:6:{s:5:\"title\";s:14:\"News blog home\";s:4:\"slug\";s:40:\"twentytwentyfive/template-home-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:28:\"template-home-photo-blog.php\";a:6:{s:5:\"title\";s:15:\"Photo blog home\";s:4:\"slug\";s:41:\"twentytwentyfive/template-home-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:38:\"template-home-posts-grid-news-blog.php\";a:5:{s:5:\"title\";s:34:\"News blog with featured posts grid\";s:4:\"slug\";s:51:\"twentytwentyfive/template-home-posts-grid-news-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:27:\"template-home-text-blog.php\";a:6:{s:5:\"title\";s:20:\"Text-only blog, home\";s:4:\"slug\";s:40:\"twentytwentyfive/template-home-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:10:\"front-page\";i:1;s:4:\"home\";}}s:38:\"template-home-vertical-header-blog.php\";a:6:{s:5:\"title\";s:31:\"Homepage for right-aligned blog\";s:4:\"slug\";s:51:\"twentytwentyfive/template-home-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:40:\"template-home-with-sidebar-news-blog.php\";a:6:{s:5:\"title\";s:22:\"News blog with sidebar\";s:4:\"slug\";s:53:\"twentytwentyfive/template-home-with-sidebar-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:28:\"template-page-photo-blog.php\";a:5:{s:5:\"title\";s:15:\"Photo blog page\";s:4:\"slug\";s:41:\"twentytwentyfive/template-page-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:13:\"templateTypes\";a:1:{i:0;s:4:\"page\";}}s:38:\"template-page-vertical-header-blog.php\";a:5:{s:5:\"title\";s:40:\"Page template for the right-aligned blog\";s:4:\"slug\";s:51:\"twentytwentyfive/template-page-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:13:\"templateTypes\";a:1:{i:0;s:4:\"page\";}}s:33:\"template-query-loop-news-blog.php\";a:4:{s:5:\"title\";s:20:\"News blog query loop\";s:4:\"slug\";s:46:\"twentytwentyfive/template-query-loop-news-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:34:\"template-query-loop-photo-blog.php\";a:6:{s:5:\"title\";s:16:\"Photo blog posts\";s:4:\"slug\";s:47:\"twentytwentyfive/template-query-loop-photo-blog\";s:11:\"description\";s:54:\"A list of posts, 3 columns, with only featured images.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:5:\"query\";}s:10:\"blockTypes\";a:1:{i:0;s:10:\"core/query\";}}s:33:\"template-query-loop-text-blog.php\";a:4:{s:5:\"title\";s:21:\"Text-only blog, posts\";s:4:\"slug\";s:46:\"twentytwentyfive/template-query-loop-text-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:44:\"template-query-loop-vertical-header-blog.php\";a:4:{s:5:\"title\";s:19:\"Right-aligned posts\";s:4:\"slug\";s:57:\"twentytwentyfive/template-query-loop-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:23:\"template-query-loop.php\";a:5:{s:5:\"title\";s:23:\"List of posts, 1 column\";s:4:\"slug\";s:36:\"twentytwentyfive/template-query-loop\";s:11:\"description\";s:61:\"A list of posts, 1 column, with featured image and post date.\";s:10:\"categories\";a:1:{i:0;s:5:\"query\";}s:10:\"blockTypes\";a:1:{i:0;s:10:\"core/query\";}}s:29:\"template-search-news-blog.php\";a:6:{s:5:\"title\";s:24:\"News blog search results\";s:4:\"slug\";s:42:\"twentytwentyfive/template-search-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:30:\"template-search-photo-blog.php\";a:6:{s:5:\"title\";s:25:\"Photo blog search results\";s:4:\"slug\";s:43:\"twentytwentyfive/template-search-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:29:\"template-search-text-blog.php\";a:6:{s:5:\"title\";s:22:\"Text-only blog, search\";s:4:\"slug\";s:42:\"twentytwentyfive/template-search-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:40:\"template-search-vertical-header-blog.php\";a:6:{s:5:\"title\";s:26:\"Right-aligned blog, search\";s:4:\"slug\";s:53:\"twentytwentyfive/template-search-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:40:\"template-single-left-aligned-content.php\";a:6:{s:5:\"title\";s:30:\"Post with left-aligned content\";s:4:\"slug\";s:47:\"twentytwentyfive/post-with-left-aligned-content\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:29:\"template-single-news-blog.php\";a:6:{s:5:\"title\";s:34:\"News blog single post with sidebar\";s:4:\"slug\";s:42:\"twentytwentyfive/template-single-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:26:\"template-single-offset.php\";a:6:{s:5:\"title\";s:34:\"Offset post without featured image\";s:4:\"slug\";s:39:\"twentytwentyfive/template-single-offset\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:30:\"template-single-photo-blog.php\";a:6:{s:5:\"title\";s:22:\"Photo blog single post\";s:4:\"slug\";s:43:\"twentytwentyfive/template-single-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:29:\"template-single-text-blog.php\";a:6:{s:5:\"title\";s:27:\"Text-only blog, single post\";s:4:\"slug\";s:42:\"twentytwentyfive/template-single-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:40:\"template-single-vertical-header-blog.php\";a:6:{s:5:\"title\";s:25:\"Right-aligned single post\";s:4:\"slug\";s:53:\"twentytwentyfive/template-single-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:22:\"testimonials-2-col.php\";a:5:{s:5:\"title\";s:21:\"2 columns with avatar\";s:4:\"slug\";s:35:\"twentytwentyfive/testimonials-2-col\";s:11:\"description\";s:42:\"Two columns with testimonials and avatars.\";s:10:\"categories\";a:1:{i:0;s:12:\"testimonials\";}s:8:\"keywords\";a:1:{i:0;s:11:\"testimonial\";}}s:22:\"testimonials-6-col.php\";a:5:{s:5:\"title\";s:35:\"3 column layout with 6 testimonials\";s:4:\"slug\";s:35:\"twentytwentyfive/testimonials-6-col\";s:11:\"description\";s:86:\"A section with three columns and two rows, each containing a testimonial and citation.\";s:10:\"categories\";a:1:{i:0;s:12:\"testimonials\";}s:8:\"keywords\";a:1:{i:0;s:11:\"testimonial\";}}s:22:\"testimonials-large.php\";a:5:{s:5:\"title\";s:32:\"Review with large image on right\";s:4:\"slug\";s:35:\"twentytwentyfive/testimonials-large\";s:11:\"description\";s:46:\"A testimonial with a large image on the right.\";s:10:\"categories\";a:1:{i:0;s:12:\"testimonials\";}s:8:\"keywords\";a:1:{i:0;s:11:\"testimonial\";}}s:13:\"text-faqs.php\";a:6:{s:5:\"title\";s:4:\"FAQs\";s:4:\"slug\";s:26:\"twentytwentyfive/text-faqs\";s:11:\"description\";s:68:\"A FAQs section with a FAQ heading and list of questions and answers.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:4:\"text\";i:1;s:5:\"about\";}s:8:\"keywords\";a:5:{i:0;s:3:\"faq\";i:1;s:5:\"about\";i:2;s:10:\"frequently\";i:3;s:5:\"asked\";i:4;s:9:\"questions\";}}s:19:\"vertical-header.php\";a:6:{s:5:\"title\";s:15:\"Vertical header\";s:4:\"slug\";s:32:\"twentytwentyfive/vertical-header\";s:11:\"description\";s:46:\"Vertical Header with site title and navigation\";s:13:\"viewportWidth\";i:300;s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:34:\"core/template-part/vertical-header\";}}}}','off'),(235,'new_admin_email','dev-email@wpengine.local','auto'),(236,'adminhash','a:2:{s:4:\"hash\";s:32:\"0b0afbbdf480cfc1e242b81e5ba23c3d\";s:8:\"newemail\";s:21:\"wordpress@example.com\";}','off'),(241,'_site_transient_timeout_theme_roots','1743166521','off'),(242,'_site_transient_theme_roots','a:15:{s:12:\"twentyeleven\";s:7:\"/themes\";s:13:\"twentyfifteen\";s:7:\"/themes\";s:14:\"twentyfourteen\";s:7:\"/themes\";s:14:\"twentynineteen\";s:7:\"/themes\";s:15:\"twentyseventeen\";s:7:\"/themes\";s:13:\"twentysixteen\";s:7:\"/themes\";s:9:\"twentyten\";s:7:\"/themes\";s:14:\"twentythirteen\";s:7:\"/themes\";s:12:\"twentytwelve\";s:7:\"/themes\";s:12:\"twentytwenty\";s:7:\"/themes\";s:16:\"twentytwentyfive\";s:7:\"/themes\";s:16:\"twentytwentyfour\";s:7:\"/themes\";s:15:\"twentytwentyone\";s:7:\"/themes\";s:17:\"twentytwentythree\";s:7:\"/themes\";s:15:\"twentytwentytwo\";s:7:\"/themes\";}','off'),(250,'_site_transient_update_plugins','O:8:\"stdClass\":4:{s:12:\"last_checked\";i:1743172814;s:8:\"response\";a:0:{}s:12:\"translations\";a:0:{}s:9:\"no_update\";a:4:{s:9:\"hello.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:25:\"w.org/plugins/hello-dolly\";s:4:\"slug\";s:11:\"hello-dolly\";s:6:\"plugin\";s:9:\"hello.php\";s:11:\"new_version\";s:5:\"1.7.2\";s:3:\"url\";s:42:\"https://wordpress.org/plugins/hello-dolly/\";s:7:\"package\";s:60:\"https://downloads.wordpress.org/plugin/hello-dolly.1.7.3.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:64:\"https://ps.w.org/hello-dolly/assets/icon-256x256.jpg?rev=2052855\";s:2:\"1x\";s:64:\"https://ps.w.org/hello-dolly/assets/icon-128x128.jpg?rev=2052855\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:67:\"https://ps.w.org/hello-dolly/assets/banner-1544x500.jpg?rev=2645582\";s:2:\"1x\";s:66:\"https://ps.w.org/hello-dolly/assets/banner-772x250.jpg?rev=2052855\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"4.6\";}s:25:\"wp-graphql/wp-graphql.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:24:\"w.org/plugins/wp-graphql\";s:4:\"slug\";s:10:\"wp-graphql\";s:6:\"plugin\";s:25:\"wp-graphql/wp-graphql.php\";s:11:\"new_version\";s:5:\"2.1.1\";s:3:\"url\";s:41:\"https://wordpress.org/plugins/wp-graphql/\";s:7:\"package\";s:53:\"https://downloads.wordpress.org/plugin/wp-graphql.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:63:\"https://ps.w.org/wp-graphql/assets/icon-256x256.png?rev=3111985\";s:2:\"1x\";s:63:\"https://ps.w.org/wp-graphql/assets/icon-128x128.png?rev=3111985\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:66:\"https://ps.w.org/wp-graphql/assets/banner-1544x500.png?rev=3111985\";s:2:\"1x\";s:65:\"https://ps.w.org/wp-graphql/assets/banner-772x250.png?rev=3111985\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"6.0\";}s:31:\"wpgraphql-acf/wpgraphql-acf.php\";O:8:\"stdClass\":10:{s:2:\"id\";s:27:\"w.org/plugins/wpgraphql-acf\";s:4:\"slug\";s:13:\"wpgraphql-acf\";s:6:\"plugin\";s:31:\"wpgraphql-acf/wpgraphql-acf.php\";s:11:\"new_version\";s:5:\"2.4.1\";s:3:\"url\";s:44:\"https://wordpress.org/plugins/wpgraphql-acf/\";s:7:\"package\";s:62:\"https://downloads.wordpress.org/plugin/wpgraphql-acf.2.4.1.zip\";s:5:\"icons\";a:2:{s:2:\"2x\";s:66:\"https://ps.w.org/wpgraphql-acf/assets/icon-256x256.png?rev=3125402\";s:2:\"1x\";s:66:\"https://ps.w.org/wpgraphql-acf/assets/icon-128x128.png?rev=3125402\";}s:7:\"banners\";a:2:{s:2:\"2x\";s:69:\"https://ps.w.org/wpgraphql-acf/assets/banner-1544x500.png?rev=3125402\";s:2:\"1x\";s:68:\"https://ps.w.org/wpgraphql-acf/assets/banner-772x250.png?rev=3125402\";}s:11:\"banners_rtl\";a:0:{}s:8:\"requires\";s:3:\"5.9\";}s:37:\"advanced-custom-fields-6.3.12/acf.php\";O:8:\"stdClass\":12:{s:4:\"slug\";s:22:\"advanced-custom-fields\";s:6:\"plugin\";s:37:\"advanced-custom-fields-6.3.12/acf.php\";s:11:\"new_version\";s:6:\"6.3.12\";s:3:\"url\";s:36:\"https://www.advancedcustomfields.com\";s:6:\"tested\";s:5:\"6.7.2\";s:7:\"package\";s:0:\"\";s:5:\"icons\";a:1:{s:7:\"default\";s:64:\"https://connect.advancedcustomfields.com/assets/icon-256x256.png\";}s:7:\"banners\";a:2:{s:3:\"low\";s:66:\"https://connect.advancedcustomfields.com/assets/banner-772x250.jpg\";s:4:\"high\";s:67:\"https://connect.advancedcustomfields.com/assets/banner-1544x500.jpg\";}s:8:\"requires\";s:3:\"6.0\";s:12:\"requires_php\";s:3:\"7.4\";s:12:\"release_date\";s:8:\"20250121\";s:6:\"reason\";s:10:\"up_to_date\";}}}','off'),(251,'wp-graphql_tracking_notice','hide','auto'),(252,'wpgraphql-acf_tracking_notice','hide','auto'),(255,'_transient_doing_cron','1743174796.7673079967498779296875','on'),(256,'_site_transient_timeout_php_check_990bfacb848fa087bcfc06850f5e4447','1743768910','off'),(257,'_site_transient_php_check_990bfacb848fa087bcfc06850f5e4447','a:5:{s:19:\"recommended_version\";s:3:\"7.4\";s:15:\"minimum_version\";s:6:\"7.2.24\";s:12:\"is_supported\";b:1;s:9:\"is_secure\";b:1;s:13:\"is_acceptable\";b:1;}','off'),(258,'_site_transient_timeout_community-events-44485c287b35f6187af786644b0948c8','1743207311','off'),(259,'_site_transient_community-events-44485c287b35f6187af786644b0948c8','a:4:{s:9:\"sandboxed\";b:0;s:5:\"error\";N;s:8:\"location\";a:1:{s:2:\"ip\";s:12:\"192.168.65.0\";}s:6:\"events\";a:3:{i:0;a:10:{s:4:\"type\";s:6:\"meetup\";s:5:\"title\";s:26:\"WordUp Warszawa 01.04.2025\";s:3:\"url\";s:46:\"https://www.meetup.com/wordup/events/306754170\";s:6:\"meetup\";s:15:\"WordUp Warszawa\";s:10:\"meetup_url\";s:30:\"https://www.meetup.com/wordup/\";s:4:\"date\";s:19:\"2025-04-01 18:00:00\";s:8:\"end_date\";s:19:\"2025-04-01 22:00:00\";s:20:\"start_unix_timestamp\";i:1743523200;s:18:\"end_unix_timestamp\";i:1743537600;s:8:\"location\";a:4:{s:8:\"location\";s:16:\"Warszawa, Poland\";s:7:\"country\";s:2:\"PL\";s:8:\"latitude\";d:52.22453;s:9:\"longitude\";d:21.01546;}}i:1;a:10:{s:4:\"type\";s:8:\"wordcamp\";s:5:\"title\";s:24:\"WordCamp Kraków, Poland\";s:3:\"url\";s:33:\"https://krakow.wordcamp.org/2025/\";s:6:\"meetup\";N;s:10:\"meetup_url\";N;s:4:\"date\";s:19:\"2025-06-27 00:00:00\";s:8:\"end_date\";s:19:\"2025-06-29 00:00:00\";s:20:\"start_unix_timestamp\";i:1750975200;s:18:\"end_unix_timestamp\";i:1751148000;s:8:\"location\";a:4:{s:8:\"location\";s:15:\"Kraków, Poland\";s:7:\"country\";s:2:\"PL\";s:8:\"latitude\";d:50.071798;s:9:\"longitude\";d:19.939965;}}i:2;a:10:{s:4:\"type\";s:8:\"wordcamp\";s:5:\"title\";s:18:\"WordCamp Lithuania\";s:3:\"url\";s:36:\"https://lithuania.wordcamp.org/2025/\";s:6:\"meetup\";N;s:10:\"meetup_url\";N;s:4:\"date\";s:19:\"2025-09-25 00:00:00\";s:8:\"end_date\";s:19:\"2025-09-26 00:00:00\";s:20:\"start_unix_timestamp\";i:1758747600;s:18:\"end_unix_timestamp\";i:1758834000;s:8:\"location\";a:4:{s:8:\"location\";s:6:\"Kaunas\";s:7:\"country\";s:2:\"LT\";s:8:\"latitude\";d:54.899647;s:9:\"longitude\";d:23.9615114;}}}}','off'),(272,'_transient_timeout_acf_plugin_updates','1743345614','off'),(273,'_transient_acf_plugin_updates','a:5:{s:7:\"plugins\";a:0:{}s:9:\"no_update\";a:1:{s:37:\"advanced-custom-fields-6.3.12/acf.php\";a:12:{s:4:\"slug\";s:22:\"advanced-custom-fields\";s:6:\"plugin\";s:37:\"advanced-custom-fields-6.3.12/acf.php\";s:11:\"new_version\";s:6:\"6.3.12\";s:3:\"url\";s:36:\"https://www.advancedcustomfields.com\";s:6:\"tested\";s:5:\"6.7.2\";s:7:\"package\";s:0:\"\";s:5:\"icons\";a:1:{s:7:\"default\";s:64:\"https://connect.advancedcustomfields.com/assets/icon-256x256.png\";}s:7:\"banners\";a:2:{s:3:\"low\";s:66:\"https://connect.advancedcustomfields.com/assets/banner-772x250.jpg\";s:4:\"high\";s:67:\"https://connect.advancedcustomfields.com/assets/banner-1544x500.jpg\";}s:8:\"requires\";s:3:\"6.0\";s:12:\"requires_php\";s:3:\"7.4\";s:12:\"release_date\";s:8:\"20250121\";s:6:\"reason\";s:10:\"up_to_date\";}}s:10:\"expiration\";i:172800;s:6:\"status\";i:1;s:7:\"checked\";a:1:{s:37:\"advanced-custom-fields-6.3.12/acf.php\";s:6:\"6.3.12\";}}','off'),(274,'_site_transient_timeout_wp_theme_files_patterns-b24c4b64a1fe6f9f73313f730ddfc1cf','1743175018','off'),(275,'_site_transient_wp_theme_files_patterns-b24c4b64a1fe6f9f73313f730ddfc1cf','a:2:{s:7:\"version\";s:3:\"1.0\";s:8:\"patterns\";a:98:{s:21:\"banner-about-book.php\";a:4:{s:5:\"title\";s:28:\"Banner with book description\";s:4:\"slug\";s:34:\"twentytwentyfive/banner-about-book\";s:11:\"description\";s:66:\"Banner with book description and accompanying image for promotion.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:28:\"banner-cover-big-heading.php\";a:4:{s:5:\"title\";s:22:\"Cover with big heading\";s:4:\"slug\";s:41:\"twentytwentyfive/banner-cover-big-heading\";s:11:\"description\";s:82:\"A full-width cover section with a large background image and an oversized heading.\";s:10:\"categories\";a:3:{i:0;s:6:\"banner\";i:1;s:5:\"about\";i:2;s:8:\"featured\";}}s:22:\"banner-intro-image.php\";a:4:{s:5:\"title\";s:49:\"Short heading and paragraph and image on the left\";s:4:\"slug\";s:35:\"twentytwentyfive/banner-intro-image\";s:11:\"description\";s:68:\"A Intro pattern with Short heading, paragraph and image on the left.\";s:10:\"categories\";a:2:{i:0;s:6:\"banner\";i:1;s:8:\"featured\";}}s:16:\"banner-intro.php\";a:4:{s:5:\"title\";s:35:\"Intro with left-aligned description\";s:4:\"slug\";s:29:\"twentytwentyfive/banner-intro\";s:11:\"description\";s:66:\"A large left-aligned heading with a brand name emphasized in bold.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:17:\"banner-poster.php\";a:4:{s:5:\"title\";s:19:\"Poster-like section\";s:4:\"slug\";s:30:\"twentytwentyfive/banner-poster\";s:11:\"description\";s:78:\"A section that can be used as a banner or a landing page to announce an event.\";s:10:\"categories\";a:2:{i:0;s:6:\"banner\";i:1;s:5:\"media\";}}s:43:\"banner-with-description-and-images-grid.php\";a:4:{s:5:\"title\";s:39:\"Banner with description and images grid\";s:4:\"slug\";s:47:\"twentytwentyfive/banner-description-images-grid\";s:11:\"description\";s:75:\"A banner with a short paragraph, and two images displayed in a grid layout.\";s:10:\"categories\";a:2:{i:0;s:6:\"banner\";i:1;s:8:\"featured\";}}s:18:\"binding-format.php\";a:4:{s:5:\"title\";s:16:\"Post format name\";s:4:\"slug\";s:31:\"twentytwentyfive/binding-format\";s:11:\"description\";s:75:\"Prints the name of the post format with the help of the Block Bindings API.\";s:10:\"categories\";a:1:{i:0;s:28:\"twentytwentyfive_post-format\";}}s:12:\"comments.php\";a:5:{s:5:\"title\";s:8:\"Comments\";s:4:\"slug\";s:25:\"twentytwentyfive/comments\";s:11:\"description\";s:63:\"Comments area with comments list, pagination, and comment form.\";s:10:\"categories\";a:1:{i:0;s:4:\"text\";}s:10:\"blockTypes\";a:1:{i:0;s:13:\"core/comments\";}}s:32:\"contact-centered-social-link.php\";a:5:{s:5:\"title\";s:30:\"Centered link and social links\";s:4:\"slug\";s:45:\"twentytwentyfive/contact-centered-social-link\";s:11:\"description\";s:73:\"Centered contact section with a prominent message and social media links.\";s:10:\"categories\";a:1:{i:0;s:7:\"contact\";}s:8:\"keywords\";a:3:{i:0;s:7:\"contact\";i:1;s:3:\"faq\";i:2;s:9:\"questions\";}}s:26:\"contact-info-locations.php\";a:6:{s:5:\"title\";s:27:\"Contact, info and locations\";s:4:\"slug\";s:39:\"twentytwentyfive/contact-info-locations\";s:11:\"description\";s:78:\"Contact section with social media links, email, and multiple location details.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:7:\"contact\";}s:8:\"keywords\";a:2:{i:0;s:7:\"contact\";i:1;s:8:\"location\";}}s:29:\"contact-location-and-link.php\";a:4:{s:5:\"title\";s:25:\"Contact location and link\";s:4:\"slug\";s:42:\"twentytwentyfive/contact-location-and-link\";s:11:\"description\";s:89:\"Contact section with a location address, a directions link, and an image of the location.\";s:10:\"categories\";a:2:{i:0;s:7:\"contact\";i:1;s:8:\"featured\";}}s:18:\"cta-book-links.php\";a:4:{s:5:\"title\";s:30:\"Call to action with book links\";s:4:\"slug\";s:31:\"twentytwentyfive/cta-book-links\";s:11:\"description\";s:74:\"A call to action section with links to get the book in different websites.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:22:\"cta-book-locations.php\";a:4:{s:5:\"title\";s:29:\"Call to action with locations\";s:4:\"slug\";s:35:\"twentytwentyfive/cta-book-locations\";s:11:\"description\";s:82:\"A call to action section with links to get the book in the most popular locations.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:24:\"cta-centered-heading.php\";a:4:{s:5:\"title\";s:16:\"Centered heading\";s:4:\"slug\";s:37:\"twentytwentyfive/cta-centered-heading\";s:11:\"description\";s:53:\"A hero with a centered heading, paragraph and button.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:19:\"cta-events-list.php\";a:4:{s:5:\"title\";s:11:\"Events list\";s:4:\"slug\";s:32:\"twentytwentyfive/cta-events-list\";s:11:\"description\";s:37:\"A list of events with call to action.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:26:\"cta-grid-products-link.php\";a:5:{s:5:\"title\";s:54:\"Call to action with grid layout with products and link\";s:4:\"slug\";s:39:\"twentytwentyfive/cta-grid-products-link\";s:11:\"description\";s:42:\"A call to action featuring product images.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:14:\"call-to-action\";i:1;s:8:\"featured\";}}s:22:\"cta-heading-search.php\";a:4:{s:5:\"title\";s:23:\"Heading and search form\";s:4:\"slug\";s:35:\"twentytwentyfive/cta-heading-search\";s:11:\"description\";s:54:\"Large heading with a search form for quick navigation.\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:18:\"cta-newsletter.php\";a:5:{s:5:\"title\";s:18:\"Newsletter sign-up\";s:4:\"slug\";s:31:\"twentytwentyfive/cta-newsletter\";s:11:\"description\";s:0:\"\";s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}s:8:\"keywords\";a:2:{i:0;s:14:\"call-to-action\";i:1;s:10:\"newsletter\";}}s:15:\"event-3-col.php\";a:5:{s:5:\"title\";s:46:\"Events, 3 columns with event images and titles\";s:4:\"slug\";s:28:\"twentytwentyfive/event-3-col\";s:11:\"description\";s:95:\"A header with title and text and three columns that show 3 events with their images and titles.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}s:8:\"keywords\";a:3:{i:0;s:6:\"events\";i:1;s:7:\"columns\";i:2;s:6:\"images\";}}s:14:\"event-rsvp.php\";a:7:{s:5:\"title\";s:10:\"Event RSVP\";s:4:\"slug\";s:27:\"twentytwentyfive/event-rsvp\";s:11:\"description\";s:64:\"RSVP for an upcoming event with a cover image and event details.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}s:8:\"keywords\";a:3:{i:0;s:14:\"call-to-action\";i:1;s:4:\"rsvp\";i:2;s:5:\"event\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:18:\"event-schedule.php\";a:5:{s:5:\"title\";s:14:\"Event schedule\";s:4:\"slug\";s:31:\"twentytwentyfive/event-schedule\";s:11:\"description\";s:54:\"A section with specified dates and times for an event.\";s:10:\"categories\";a:1:{i:0;s:5:\"about\";}s:8:\"keywords\";a:4:{i:0;s:6:\"events\";i:1;s:6:\"agenda\";i:2;s:8:\"schedule\";i:3;s:8:\"lectures\";}}s:19:\"footer-centered.php\";a:5:{s:5:\"title\";s:15:\"Centered footer\";s:4:\"slug\";s:32:\"twentytwentyfive/footer-centered\";s:11:\"description\";s:44:\"Footer with centered site title and tagline.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:18:\"footer-columns.php\";a:5:{s:5:\"title\";s:19:\"Footer with columns\";s:4:\"slug\";s:31:\"twentytwentyfive/footer-columns\";s:11:\"description\";s:45:\"Footer columns with title, tagline and links.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:21:\"footer-newsletter.php\";a:5:{s:5:\"title\";s:29:\"Footer with newsletter signup\";s:4:\"slug\";s:34:\"twentytwentyfive/footer-newsletter\";s:11:\"description\";s:51:\"Footer with large site title and newsletter signup.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:17:\"footer-social.php\";a:5:{s:5:\"title\";s:33:\"Centered footer with social links\";s:4:\"slug\";s:30:\"twentytwentyfive/footer-social\";s:11:\"description\";s:49:\"Footer with centered site title and social links.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:10:\"footer.php\";a:5:{s:5:\"title\";s:6:\"Footer\";s:4:\"slug\";s:23:\"twentytwentyfive/footer\";s:11:\"description\";s:51:\"Footer columns with logo, title, tagline and links.\";s:10:\"categories\";a:1:{i:0;s:6:\"footer\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/footer\";}}s:16:\"format-audio.php\";a:4:{s:5:\"title\";s:12:\"Audio format\";s:4:\"slug\";s:29:\"twentytwentyfive/format-audio\";s:11:\"description\";s:73:\"An audio post format with an image, title, audio player, and description.\";s:10:\"categories\";a:1:{i:0;s:28:\"twentytwentyfive_post-format\";}}s:15:\"format-link.php\";a:4:{s:5:\"title\";s:11:\"Link format\";s:4:\"slug\";s:28:\"twentytwentyfive/format-link\";s:11:\"description\";s:77:\"A link post format with a description and an emphasized link for key content.\";s:10:\"categories\";a:1:{i:0;s:28:\"twentytwentyfive_post-format\";}}s:15:\"grid-videos.php\";a:4:{s:5:\"title\";s:16:\"Grid with videos\";s:4:\"slug\";s:28:\"twentytwentyfive/grid-videos\";s:11:\"description\";s:19:\"A grid with videos.\";s:10:\"categories\";a:1:{i:0;s:5:\"about\";}}s:24:\"grid-with-categories.php\";a:5:{s:5:\"title\";s:20:\"Grid with categories\";s:4:\"slug\";s:37:\"twentytwentyfive/grid-with-categories\";s:11:\"description\";s:41:\"A grid section with different categories.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:19:\"header-centered.php\";a:5:{s:5:\"title\";s:15:\"Centered header\";s:4:\"slug\";s:32:\"twentytwentyfive/header-centered\";s:11:\"description\";s:47:\"Header with centered site title and navigation.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:18:\"header-columns.php\";a:5:{s:5:\"title\";s:19:\"Header with columns\";s:4:\"slug\";s:31:\"twentytwentyfive/header-columns\";s:11:\"description\";s:49:\"Header with site title and navigation in columns.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:22:\"header-large-title.php\";a:5:{s:5:\"title\";s:23:\"Header with large title\";s:4:\"slug\";s:35:\"twentytwentyfive/header-large-title\";s:11:\"description\";s:58:\"Header with large site title and right-aligned navigation.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:10:\"header.php\";a:5:{s:5:\"title\";s:6:\"Header\";s:4:\"slug\";s:23:\"twentytwentyfive/header\";s:11:\"description\";s:38:\"Header with site title and navigation.\";s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/template-part/header\";}}s:36:\"heading-and-paragraph-with-image.php\";a:4:{s:5:\"title\";s:45:\"Heading and paragraph with image on the right\";s:4:\"slug\";s:49:\"twentytwentyfive/heading-and-paragraph-with-image\";s:11:\"description\";s:89:\"A two-column section with a heading and paragraph on the left, and an image on the right.\";s:10:\"categories\";a:1:{i:0;s:5:\"about\";}}s:13:\"hero-book.php\";a:5:{s:5:\"title\";s:9:\"Hero book\";s:4:\"slug\";s:26:\"twentytwentyfive/hero-book\";s:11:\"description\";s:66:\"A hero section for the book with a description and pre-order link.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}s:8:\"keywords\";a:3:{i:0;s:7:\"podcast\";i:1;s:4:\"hero\";i:2;s:7:\"stories\";}}s:25:\"hero-full-width-image.php\";a:4:{s:5:\"title\";s:22:\"Hero, full width image\";s:4:\"slug\";s:38:\"twentytwentyfive/hero-full-width-image\";s:11:\"description\";s:68:\"A hero with a full width image, heading, short paragraph and button.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:41:\"hero-overlapped-book-cover-with-links.php\";a:4:{s:5:\"title\";s:38:\"Hero, overlapped book cover with links\";s:4:\"slug\";s:54:\"twentytwentyfive/hero-overlapped-book-cover-with-links\";s:11:\"description\";s:47:\"A hero with an overlapped book cover and links.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:16:\"hero-podcast.php\";a:5:{s:5:\"title\";s:12:\"Hero podcast\";s:4:\"slug\";s:29:\"twentytwentyfive/hero-podcast\";s:11:\"description\";s:0:\"\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}s:8:\"keywords\";a:3:{i:0;s:7:\"podcast\";i:1;s:4:\"hero\";i:2;s:7:\"stories\";}}s:14:\"hidden-404.php\";a:4:{s:5:\"title\";s:3:\"404\";s:4:\"slug\";s:27:\"twentytwentyfive/hidden-404\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:23:\"hidden-blog-heading.php\";a:4:{s:5:\"title\";s:19:\"Hidden blog heading\";s:4:\"slug\";s:36:\"twentytwentyfive/hidden-blog-heading\";s:11:\"description\";s:52:\"Hidden heading for the home page and index template.\";s:8:\"inserter\";b:0;}s:17:\"hidden-search.php\";a:4:{s:5:\"title\";s:6:\"Search\";s:4:\"slug\";s:30:\"twentytwentyfive/hidden-search\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:18:\"hidden-sidebar.php\";a:4:{s:5:\"title\";s:7:\"Sidebar\";s:4:\"slug\";s:31:\"twentytwentyfive/hidden-sidebar\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:21:\"hidden-written-by.php\";a:4:{s:5:\"title\";s:10:\"Written by\";s:4:\"slug\";s:34:\"twentytwentyfive/hidden-written-by\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:9:\"logos.php\";a:4:{s:5:\"title\";s:5:\"Logos\";s:4:\"slug\";s:22:\"twentytwentyfive/logos\";s:11:\"description\";s:77:\"Showcasing the podcast\'s clients with a heading and a series of client logos.\";s:10:\"categories\";a:1:{i:0;s:6:\"banner\";}}s:24:\"media-instagram-grid.php\";a:5:{s:5:\"title\";s:14:\"Instagram grid\";s:4:\"slug\";s:37:\"twentytwentyfive/media-instagram-grid\";s:11:\"description\";s:62:\"A grid section with photos and a link to an Instagram profile.\";s:13:\"viewportWidth\";i:1440;s:10:\"categories\";a:3:{i:0;s:5:\"media\";i:1;s:7:\"gallery\";i:2;s:8:\"featured\";}}s:14:\"more-posts.php\";a:5:{s:5:\"title\";s:10:\"More posts\";s:4:\"slug\";s:27:\"twentytwentyfive/more-posts\";s:11:\"description\";s:45:\"Displays a list of posts with title and date.\";s:10:\"categories\";a:1:{i:0;s:5:\"query\";}s:10:\"blockTypes\";a:1:{i:0;s:10:\"core/query\";}}s:21:\"overlapped-images.php\";a:4:{s:5:\"title\";s:41:\"Overlapping images and paragraph on right\";s:4:\"slug\";s:34:\"twentytwentyfive/overlapped-images\";s:11:\"description\";s:53:\"A section with overlapping images, and a description.\";s:10:\"categories\";a:2:{i:0;s:5:\"about\";i:1;s:8:\"featured\";}}s:22:\"page-business-home.php\";a:8:{s:5:\"title\";s:17:\"Business homepage\";s:4:\"slug\";s:35:\"twentytwentyfive/page-business-home\";s:11:\"description\";s:28:\"A business homepage pattern.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:20:\"page-coming-soon.php\";a:8:{s:5:\"title\";s:11:\"Coming soon\";s:4:\"slug\";s:33:\"twentytwentyfive/page-coming-soon\";s:11:\"description\";s:96:\"A full-width cover banner that can be applied to a page or it can work as a single landing page.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:15:\"page-cv-bio.php\";a:7:{s:5:\"title\";s:6:\"CV/bio\";s:4:\"slug\";s:28:\"twentytwentyfive/page-cv-bio\";s:11:\"description\";s:36:\"A pattern for a CV/Bio landing page.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:3:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:5:\"about\";i:2;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:21:\"page-landing-book.php\";a:8:{s:5:\"title\";s:21:\"Landing page for book\";s:4:\"slug\";s:34:\"twentytwentyfive/page-landing-book\";s:11:\"description\";s:104:\"A landing page for the book with a hero section, pre-order links, locations, FAQs and newsletter signup.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:22:\"page-landing-event.php\";a:8:{s:5:\"title\";s:22:\"Landing page for event\";s:4:\"slug\";s:35:\"twentytwentyfive/page-landing-event\";s:11:\"description\";s:87:\"A landing page for the event with a hero section, description, FAQs and call to action.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:24:\"page-landing-podcast.php\";a:8:{s:5:\"title\";s:24:\"Landing page for podcast\";s:4:\"slug\";s:37:\"twentytwentyfive/page-landing-podcast\";s:11:\"description\";s:111:\"A landing page for the podcast with a hero section, description, logos, grid with videos and newsletter signup.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:50:\"page-link-in-bio-heading-paragraph-links-image.php\";a:7:{s:5:\"title\";s:59:\"Link in bio heading, paragraph, links and full-height image\";s:4:\"slug\";s:63:\"twentytwentyfive/page-link-in-bio-heading-paragraph-links-image\";s:11:\"description\";s:84:\"A link in bio landing page with a heading, paragraph, links and a full height image.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:3:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:6:\"banner\";i:2;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:33:\"page-link-in-bio-wide-margins.php\";a:7:{s:5:\"title\";s:48:\"Link in bio with profile, links and wide margins\";s:4:\"slug\";s:46:\"twentytwentyfive/page-link-in-bio-wide-margins\";s:11:\"description\";s:86:\"A link in bio landing page with social links, a profile photo and a brief description.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:3:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:6:\"banner\";i:2;s:8:\"featured\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}}s:39:\"page-link-in-bio-with-tight-margins.php\";a:8:{s:5:\"title\";s:30:\"Link in bio with tight margins\";s:4:\"slug\";s:52:\"twentytwentyfive/page-link-in-bio-with-tight-margins\";s:11:\"description\";s:90:\"A full-width, full-height link in bio section with an image, a paragraph and social links.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:6:\"banner\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:23:\"page-portfolio-home.php\";a:8:{s:5:\"title\";s:18:\"Portfolio homepage\";s:4:\"slug\";s:36:\"twentytwentyfive/page-portfolio-home\";s:11:\"description\";s:29:\"A portfolio homepage pattern.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:21:\"twentytwentyfive_page\";i:1;s:5:\"posts\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:18:\"page-shop-home.php\";a:8:{s:5:\"title\";s:13:\"Shop homepage\";s:4:\"slug\";s:31:\"twentytwentyfive/page-shop-home\";s:11:\"description\";s:24:\"A shop homepage pattern.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:21:\"twentytwentyfive_page\";}s:8:\"keywords\";a:1:{i:0;s:7:\"starter\";}s:10:\"blockTypes\";a:1:{i:0;s:17:\"core/post-content\";}s:9:\"postTypes\";a:2:{i:0;s:4:\"page\";i:1;s:11:\"wp_template\";}}s:19:\"post-navigation.php\";a:5:{s:5:\"title\";s:15:\"Post navigation\";s:4:\"slug\";s:32:\"twentytwentyfive/post-navigation\";s:11:\"description\";s:29:\"Next and previous post links.\";s:10:\"categories\";a:1:{i:0;s:4:\"text\";}s:10:\"blockTypes\";a:1:{i:0;s:25:\"core/post-navigation-link\";}}s:17:\"pricing-2-col.php\";a:5:{s:5:\"title\";s:18:\"Pricing, 2 columns\";s:4:\"slug\";s:30:\"twentytwentyfive/pricing-2-col\";s:11:\"description\";s:88:\"Pricing section with two columns, pricing plan, description, and call-to-action buttons.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:14:\"call-to-action\";}}s:17:\"pricing-3-col.php\";a:4:{s:5:\"title\";s:18:\"Pricing, 3 columns\";s:4:\"slug\";s:30:\"twentytwentyfive/pricing-3-col\";s:11:\"description\";s:100:\"A three-column boxed pricing table designed to showcase services, descriptions, and pricing options.\";s:10:\"categories\";a:3:{i:0;s:14:\"call-to-action\";i:1;s:6:\"banner\";i:2;s:8:\"services\";}}s:18:\"services-3-col.php\";a:4:{s:5:\"title\";s:19:\"Services, 3 columns\";s:4:\"slug\";s:31:\"twentytwentyfive/services-3-col\";s:11:\"description\";s:56:\"Three columns with images and text to showcase services.\";s:10:\"categories\";a:3:{i:0;s:14:\"call-to-action\";i:1;s:6:\"banner\";i:2;s:8:\"services\";}}s:36:\"services-subscriber-only-section.php\";a:4:{s:5:\"title\";s:33:\"Services, subscriber only section\";s:4:\"slug\";s:49:\"twentytwentyfive/services-subscriber-only-section\";s:11:\"description\";s:72:\"A subscriber-only section highlighting exclusive services and offerings.\";s:10:\"categories\";a:2:{i:0;s:14:\"call-to-action\";i:1;s:8:\"services\";}}s:24:\"services-team-photos.php\";a:4:{s:5:\"title\";s:21:\"Services, team photos\";s:4:\"slug\";s:37:\"twentytwentyfive/services-team-photos\";s:11:\"description\";s:59:\"Display team photos in a services section with grid layout.\";s:10:\"categories\";a:3:{i:0;s:6:\"banner\";i:1;s:14:\"call-to-action\";i:2;s:8:\"featured\";}}s:37:\"template-404-vertical-header-blog.php\";a:5:{s:5:\"title\";s:23:\"Right-aligned blog, 404\";s:4:\"slug\";s:50:\"twentytwentyfive/template-404-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:13:\"templateTypes\";a:1:{i:0;s:3:\"404\";}}s:30:\"template-archive-news-blog.php\";a:6:{s:5:\"title\";s:17:\"News blog archive\";s:4:\"slug\";s:43:\"twentytwentyfive/template-archive-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:31:\"template-archive-photo-blog.php\";a:6:{s:5:\"title\";s:18:\"Photo blog archive\";s:4:\"slug\";s:44:\"twentytwentyfive/template-archive-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:30:\"template-archive-text-blog.php\";a:6:{s:5:\"title\";s:23:\"Text-only blog, archive\";s:4:\"slug\";s:43:\"twentytwentyfive/template-archive-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:41:\"template-archive-vertical-header-blog.php\";a:6:{s:5:\"title\";s:34:\"Archive for the right-aligned blog\";s:4:\"slug\";s:54:\"twentytwentyfive/template-archive-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:7:\"archive\";}}s:27:\"template-home-news-blog.php\";a:6:{s:5:\"title\";s:14:\"News blog home\";s:4:\"slug\";s:40:\"twentytwentyfive/template-home-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:28:\"template-home-photo-blog.php\";a:6:{s:5:\"title\";s:15:\"Photo blog home\";s:4:\"slug\";s:41:\"twentytwentyfive/template-home-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:38:\"template-home-posts-grid-news-blog.php\";a:5:{s:5:\"title\";s:34:\"News blog with featured posts grid\";s:4:\"slug\";s:51:\"twentytwentyfive/template-home-posts-grid-news-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:27:\"template-home-text-blog.php\";a:6:{s:5:\"title\";s:20:\"Text-only blog, home\";s:4:\"slug\";s:40:\"twentytwentyfive/template-home-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:10:\"front-page\";i:1;s:4:\"home\";}}s:38:\"template-home-vertical-header-blog.php\";a:6:{s:5:\"title\";s:31:\"Homepage for right-aligned blog\";s:4:\"slug\";s:51:\"twentytwentyfive/template-home-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:40:\"template-home-with-sidebar-news-blog.php\";a:6:{s:5:\"title\";s:22:\"News blog with sidebar\";s:4:\"slug\";s:53:\"twentytwentyfive/template-home-with-sidebar-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:3:{i:0;s:10:\"front-page\";i:1;s:5:\"index\";i:2;s:4:\"home\";}}s:28:\"template-page-photo-blog.php\";a:5:{s:5:\"title\";s:15:\"Photo blog page\";s:4:\"slug\";s:41:\"twentytwentyfive/template-page-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:13:\"templateTypes\";a:1:{i:0;s:4:\"page\";}}s:38:\"template-page-vertical-header-blog.php\";a:5:{s:5:\"title\";s:40:\"Page template for the right-aligned blog\";s:4:\"slug\";s:51:\"twentytwentyfive/template-page-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:13:\"templateTypes\";a:1:{i:0;s:4:\"page\";}}s:33:\"template-query-loop-news-blog.php\";a:4:{s:5:\"title\";s:20:\"News blog query loop\";s:4:\"slug\";s:46:\"twentytwentyfive/template-query-loop-news-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:34:\"template-query-loop-photo-blog.php\";a:6:{s:5:\"title\";s:16:\"Photo blog posts\";s:4:\"slug\";s:47:\"twentytwentyfive/template-query-loop-photo-blog\";s:11:\"description\";s:54:\"A list of posts, 3 columns, with only featured images.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:1:{i:0;s:5:\"query\";}s:10:\"blockTypes\";a:1:{i:0;s:10:\"core/query\";}}s:33:\"template-query-loop-text-blog.php\";a:4:{s:5:\"title\";s:21:\"Text-only blog, posts\";s:4:\"slug\";s:46:\"twentytwentyfive/template-query-loop-text-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:44:\"template-query-loop-vertical-header-blog.php\";a:4:{s:5:\"title\";s:19:\"Right-aligned posts\";s:4:\"slug\";s:57:\"twentytwentyfive/template-query-loop-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:8:\"inserter\";b:0;}s:23:\"template-query-loop.php\";a:5:{s:5:\"title\";s:23:\"List of posts, 1 column\";s:4:\"slug\";s:36:\"twentytwentyfive/template-query-loop\";s:11:\"description\";s:61:\"A list of posts, 1 column, with featured image and post date.\";s:10:\"categories\";a:1:{i:0;s:5:\"query\";}s:10:\"blockTypes\";a:1:{i:0;s:10:\"core/query\";}}s:29:\"template-search-news-blog.php\";a:6:{s:5:\"title\";s:24:\"News blog search results\";s:4:\"slug\";s:42:\"twentytwentyfive/template-search-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:30:\"template-search-photo-blog.php\";a:6:{s:5:\"title\";s:25:\"Photo blog search results\";s:4:\"slug\";s:43:\"twentytwentyfive/template-search-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:29:\"template-search-text-blog.php\";a:6:{s:5:\"title\";s:22:\"Text-only blog, search\";s:4:\"slug\";s:42:\"twentytwentyfive/template-search-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:40:\"template-search-vertical-header-blog.php\";a:6:{s:5:\"title\";s:26:\"Right-aligned blog, search\";s:4:\"slug\";s:53:\"twentytwentyfive/template-search-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:1:{i:0;s:6:\"search\";}}s:40:\"template-single-left-aligned-content.php\";a:6:{s:5:\"title\";s:30:\"Post with left-aligned content\";s:4:\"slug\";s:47:\"twentytwentyfive/post-with-left-aligned-content\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:29:\"template-single-news-blog.php\";a:6:{s:5:\"title\";s:34:\"News blog single post with sidebar\";s:4:\"slug\";s:42:\"twentytwentyfive/template-single-news-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:26:\"template-single-offset.php\";a:6:{s:5:\"title\";s:34:\"Offset post without featured image\";s:4:\"slug\";s:39:\"twentytwentyfive/template-single-offset\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:30:\"template-single-photo-blog.php\";a:6:{s:5:\"title\";s:22:\"Photo blog single post\";s:4:\"slug\";s:43:\"twentytwentyfive/template-single-photo-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:29:\"template-single-text-blog.php\";a:6:{s:5:\"title\";s:27:\"Text-only blog, single post\";s:4:\"slug\";s:42:\"twentytwentyfive/template-single-text-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:40:\"template-single-vertical-header-blog.php\";a:6:{s:5:\"title\";s:25:\"Right-aligned single post\";s:4:\"slug\";s:53:\"twentytwentyfive/template-single-vertical-header-blog\";s:11:\"description\";s:0:\"\";s:13:\"viewportWidth\";i:1400;s:8:\"inserter\";b:0;s:13:\"templateTypes\";a:2:{i:0;s:5:\"posts\";i:1;s:6:\"single\";}}s:22:\"testimonials-2-col.php\";a:5:{s:5:\"title\";s:21:\"2 columns with avatar\";s:4:\"slug\";s:35:\"twentytwentyfive/testimonials-2-col\";s:11:\"description\";s:42:\"Two columns with testimonials and avatars.\";s:10:\"categories\";a:1:{i:0;s:12:\"testimonials\";}s:8:\"keywords\";a:1:{i:0;s:11:\"testimonial\";}}s:22:\"testimonials-6-col.php\";a:5:{s:5:\"title\";s:35:\"3 column layout with 6 testimonials\";s:4:\"slug\";s:35:\"twentytwentyfive/testimonials-6-col\";s:11:\"description\";s:86:\"A section with three columns and two rows, each containing a testimonial and citation.\";s:10:\"categories\";a:1:{i:0;s:12:\"testimonials\";}s:8:\"keywords\";a:1:{i:0;s:11:\"testimonial\";}}s:22:\"testimonials-large.php\";a:5:{s:5:\"title\";s:32:\"Review with large image on right\";s:4:\"slug\";s:35:\"twentytwentyfive/testimonials-large\";s:11:\"description\";s:46:\"A testimonial with a large image on the right.\";s:10:\"categories\";a:1:{i:0;s:12:\"testimonials\";}s:8:\"keywords\";a:1:{i:0;s:11:\"testimonial\";}}s:13:\"text-faqs.php\";a:6:{s:5:\"title\";s:4:\"FAQs\";s:4:\"slug\";s:26:\"twentytwentyfive/text-faqs\";s:11:\"description\";s:68:\"A FAQs section with a FAQ heading and list of questions and answers.\";s:13:\"viewportWidth\";i:1400;s:10:\"categories\";a:2:{i:0;s:4:\"text\";i:1;s:5:\"about\";}s:8:\"keywords\";a:5:{i:0;s:3:\"faq\";i:1;s:5:\"about\";i:2;s:10:\"frequently\";i:3;s:5:\"asked\";i:4;s:9:\"questions\";}}s:19:\"vertical-header.php\";a:6:{s:5:\"title\";s:15:\"Vertical header\";s:4:\"slug\";s:32:\"twentytwentyfive/vertical-header\";s:11:\"description\";s:46:\"Vertical Header with site title and navigation\";s:13:\"viewportWidth\";i:300;s:10:\"categories\";a:1:{i:0;s:6:\"header\";}s:10:\"blockTypes\";a:1:{i:0;s:34:\"core/template-part/vertical-header\";}}}}','off'); +/*!40000 ALTER TABLE `wp_options` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_postmeta` +-- + +DROP TABLE IF EXISTS `wp_postmeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_postmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext DEFAULT NULL, + PRIMARY KEY (`meta_id`), + KEY `post_id` (`post_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB AUTO_INCREMENT=176 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_postmeta` +-- + +LOCK TABLES `wp_postmeta` WRITE; +/*!40000 ALTER TABLE `wp_postmeta` DISABLE KEYS */; +INSERT INTO `wp_postmeta` VALUES (1,2,'_wp_page_template','default'),(2,3,'_wp_page_template','default'),(11,24,'_edit_lock','1743159674:1'),(12,26,'_edit_last','1'),(13,26,'_edit_lock','1743172384:1'),(14,27,'_edit_last','1'),(15,27,'_edit_lock','1743159812:1'),(16,28,'_edit_last','1'),(17,28,'_edit_lock','1743159837:1'),(33,320,'_wp_attached_file','2025/03/tim-mossholder-dqxr8A7Twwc-unsplash-scaled.jpg'),(34,320,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:54:\"2025/03/tim-mossholder-dqxr8A7Twwc-unsplash-scaled.jpg\";s:8:\"filesize\";i:885515;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:47:\"tim-mossholder-dqxr8A7Twwc-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:19437;}s:5:\"large\";a:5:{s:4:\"file\";s:48:\"tim-mossholder-dqxr8A7Twwc-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:175643;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:47:\"tim-mossholder-dqxr8A7Twwc-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:9942;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:47:\"tim-mossholder-dqxr8A7Twwc-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:102589;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:49:\"tim-mossholder-dqxr8A7Twwc-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:365482;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:49:\"tim-mossholder-dqxr8A7Twwc-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:605166;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:39:\"tim-mossholder-dqxr8A7Twwc-unsplash.jpg\";}'),(38,30,'_edit_lock','1743161026:1'),(39,322,'_wp_attached_file','2025/03/sebastian-tapia-huerta-5qba-p9ahTE-unsplash-scaled.jpg'),(40,322,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:62:\"2025/03/sebastian-tapia-huerta-5qba-p9ahTE-unsplash-scaled.jpg\";s:8:\"filesize\";i:523407;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:55:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:14335;}s:5:\"large\";a:5:{s:4:\"file\";s:56:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:103403;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:55:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:8216;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:55:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:61650;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:57:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:212192;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:57:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:352470;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:47:\"sebastian-tapia-huerta-5qba-p9ahTE-unsplash.jpg\";}'),(43,30,'_thumbnail_id','322'),(44,31,'_edit_lock','1743161026:1'),(45,32,'_edit_lock','1743161187:1'),(46,33,'_edit_lock','1743161185:1'),(49,31,'_thumbnail_id','320'),(52,33,'_thumbnail_id','320'),(55,32,'_thumbnail_id','322'),(56,19,'_edit_lock','1743161252:1'),(58,21,'_edit_lock','1743161378:1'),(59,22,'_edit_lock','1743161361:1'),(60,23,'_edit_lock','1743161375:1'),(61,327,'_wp_attached_file','2025/03/alim-twul1x77QEo-unsplash-scaled.jpg'),(62,327,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2048;s:6:\"height\";i:2560;s:4:\"file\";s:44:\"2025/03/alim-twul1x77QEo-unsplash-scaled.jpg\";s:8:\"filesize\";i:1113717;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:37:\"alim-twul1x77QEo-unsplash-240x300.jpg\";s:5:\"width\";i:240;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:27592;}s:5:\"large\";a:5:{s:4:\"file\";s:38:\"alim-twul1x77QEo-unsplash-819x1024.jpg\";s:5:\"width\";i:819;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:243103;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:37:\"alim-twul1x77QEo-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:11831;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:37:\"alim-twul1x77QEo-unsplash-768x960.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:960;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:216088;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:39:\"alim-twul1x77QEo-unsplash-1229x1536.jpg\";s:5:\"width\";i:1229;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:482201;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:39:\"alim-twul1x77QEo-unsplash-1638x2048.jpg\";s:5:\"width\";i:1638;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:776456;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:29:\"alim-twul1x77QEo-unsplash.jpg\";}'),(63,328,'_acf_changed',''),(64,328,'footnotes',''),(67,19,'_thumbnail_id','327'),(68,330,'_wp_attached_file','2025/03/junhan-foong-ERLAcTp-8MQ-unsplash-scaled.jpg'),(69,330,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1920;s:4:\"file\";s:52:\"2025/03/junhan-foong-ERLAcTp-8MQ-unsplash-scaled.jpg\";s:8:\"filesize\";i:957696;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:45:\"junhan-foong-ERLAcTp-8MQ-unsplash-300x225.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:225;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:20168;}s:5:\"large\";a:5:{s:4:\"file\";s:46:\"junhan-foong-ERLAcTp-8MQ-unsplash-1024x768.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:157551;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:45:\"junhan-foong-ERLAcTp-8MQ-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:9757;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:45:\"junhan-foong-ERLAcTp-8MQ-unsplash-768x576.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:93523;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:47:\"junhan-foong-ERLAcTp-8MQ-unsplash-1536x1152.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:333494;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:47:\"junhan-foong-ERLAcTp-8MQ-unsplash-2048x1536.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:597661;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:37:\"junhan-foong-ERLAcTp-8MQ-unsplash.jpg\";}'),(73,332,'_acf_changed',''),(74,332,'footnotes',''),(75,333,'_wp_attached_file','2025/03/let-s-see-persia-c8dFTAYI0-8-unsplash-scaled.jpg'),(76,333,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:56:\"2025/03/let-s-see-persia-c8dFTAYI0-8-unsplash-scaled.jpg\";s:8:\"filesize\";i:1067862;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:49:\"let-s-see-persia-c8dFTAYI0-8-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:21170;}s:5:\"large\";a:5:{s:4:\"file\";s:50:\"let-s-see-persia-c8dFTAYI0-8-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:191199;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:49:\"let-s-see-persia-c8dFTAYI0-8-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:11159;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:50:\"let-s-see-persia-c8dFTAYI0-8-unsplash-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:237596;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:51:\"let-s-see-persia-c8dFTAYI0-8-unsplash-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:410721;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:51:\"let-s-see-persia-c8dFTAYI0-8-unsplash-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:707358;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:41:\"let-s-see-persia-c8dFTAYI0-8-unsplash.jpg\";}'),(79,21,'_thumbnail_id','333'),(82,22,'_thumbnail_id','327'),(85,23,'_thumbnail_id','330'),(86,13,'_edit_lock','1743161654:1'),(87,14,'_edit_lock','1743161475:1'),(88,15,'_edit_lock','1743161485:1'),(89,7,'_edit_lock','1743161525:1'),(90,16,'_edit_lock','1743161585:1'),(91,8,'_edit_lock','1743161620:1'),(92,17,'_edit_lock','1743161633:1'),(93,9,'_edit_lock','1743161668:1'),(95,5,'_edit_lock','1743161733:1'),(96,337,'_wp_attached_file','2025/03/clay-banks-8pFh9JUcQOY-unsplash-scaled.jpg'),(97,337,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1600;s:4:\"file\";s:50:\"2025/03/clay-banks-8pFh9JUcQOY-unsplash-scaled.jpg\";s:8:\"filesize\";i:379095;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:43:\"clay-banks-8pFh9JUcQOY-unsplash-300x188.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:188;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:11758;}s:5:\"large\";a:5:{s:4:\"file\";s:44:\"clay-banks-8pFh9JUcQOY-unsplash-1024x640.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:640;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:75037;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:43:\"clay-banks-8pFh9JUcQOY-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:6941;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:43:\"clay-banks-8pFh9JUcQOY-unsplash-768x480.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:480;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:46566;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:44:\"clay-banks-8pFh9JUcQOY-unsplash-1536x960.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:960;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:151997;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:45:\"clay-banks-8pFh9JUcQOY-unsplash-2048x1280.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1280;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:253115;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:35:\"clay-banks-8pFh9JUcQOY-unsplash.jpg\";}'),(100,13,'_thumbnail_id','337'),(101,339,'_wp_attached_file','2025/03/pepe-nero-JsSM2T9iPRU-unsplash-scaled.jpg'),(102,339,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:49:\"2025/03/pepe-nero-JsSM2T9iPRU-unsplash-scaled.jpg\";s:8:\"filesize\";i:773106;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:42:\"pepe-nero-JsSM2T9iPRU-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:20952;}s:5:\"large\";a:5:{s:4:\"file\";s:43:\"pepe-nero-JsSM2T9iPRU-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:172770;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:42:\"pepe-nero-JsSM2T9iPRU-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:10108;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:42:\"pepe-nero-JsSM2T9iPRU-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:104044;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:44:\"pepe-nero-JsSM2T9iPRU-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:339517;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:44:\"pepe-nero-JsSM2T9iPRU-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:543505;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:34:\"pepe-nero-JsSM2T9iPRU-unsplash.jpg\";}'),(105,14,'_thumbnail_id','339'),(108,15,'_thumbnail_id','337'),(109,342,'_wp_attached_file','2025/03/priscilla-fraire-_1LvAexVWa8-unsplash-scaled.jpg'),(110,342,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1706;s:4:\"file\";s:56:\"2025/03/priscilla-fraire-_1LvAexVWa8-unsplash-scaled.jpg\";s:8:\"filesize\";i:670433;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:49:\"priscilla-fraire-_1LvAexVWa8-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:16477;}s:5:\"large\";a:5:{s:4:\"file\";s:50:\"priscilla-fraire-_1LvAexVWa8-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:110011;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:49:\"priscilla-fraire-_1LvAexVWa8-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:9624;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:49:\"priscilla-fraire-_1LvAexVWa8-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:68662;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:51:\"priscilla-fraire-_1LvAexVWa8-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:226620;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:51:\"priscilla-fraire-_1LvAexVWa8-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:413956;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:41:\"priscilla-fraire-_1LvAexVWa8-unsplash.jpg\";}'),(113,7,'_thumbnail_id','342'),(114,344,'_wp_attached_file','2025/03/alin-gavriliuc-sAkUB5aCRcs-unsplash-scaled.jpg'),(115,344,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1440;s:4:\"file\";s:54:\"2025/03/alin-gavriliuc-sAkUB5aCRcs-unsplash-scaled.jpg\";s:8:\"filesize\";i:203293;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:47:\"alin-gavriliuc-sAkUB5aCRcs-unsplash-300x169.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:11592;}s:5:\"large\";a:5:{s:4:\"file\";s:48:\"alin-gavriliuc-sAkUB5aCRcs-unsplash-1024x576.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:53888;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:47:\"alin-gavriliuc-sAkUB5aCRcs-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:7828;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:47:\"alin-gavriliuc-sAkUB5aCRcs-unsplash-768x432.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:35794;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:48:\"alin-gavriliuc-sAkUB5aCRcs-unsplash-1536x864.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:864;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:96444;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:49:\"alin-gavriliuc-sAkUB5aCRcs-unsplash-2048x1152.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:145300;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:39:\"alin-gavriliuc-sAkUB5aCRcs-unsplash.jpg\";}'),(118,16,'_thumbnail_id','344'),(119,346,'_wp_attached_file','2025/03/steve-douglas-JjEbmnY1e0w-unsplash-scaled.jpg'),(120,346,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:53:\"2025/03/steve-douglas-JjEbmnY1e0w-unsplash-scaled.jpg\";s:8:\"filesize\";i:971895;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:46:\"steve-douglas-JjEbmnY1e0w-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:20075;}s:5:\"large\";a:5:{s:4:\"file\";s:47:\"steve-douglas-JjEbmnY1e0w-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:194258;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:46:\"steve-douglas-JjEbmnY1e0w-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:10052;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:46:\"steve-douglas-JjEbmnY1e0w-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:111792;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:48:\"steve-douglas-JjEbmnY1e0w-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:395927;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:48:\"steve-douglas-JjEbmnY1e0w-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:669965;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:38:\"steve-douglas-JjEbmnY1e0w-unsplash.jpg\";}'),(123,8,'_thumbnail_id','346'),(126,17,'_thumbnail_id','339'),(127,349,'_wp_attached_file','2025/03/mario-la-pergola-dSrEUAtF3kU-unsplash-scaled.jpg'),(128,349,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1706;s:4:\"file\";s:56:\"2025/03/mario-la-pergola-dSrEUAtF3kU-unsplash-scaled.jpg\";s:8:\"filesize\";i:850479;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:49:\"mario-la-pergola-dSrEUAtF3kU-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:19408;}s:5:\"large\";a:5:{s:4:\"file\";s:50:\"mario-la-pergola-dSrEUAtF3kU-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:159579;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:49:\"mario-la-pergola-dSrEUAtF3kU-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:9507;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:49:\"mario-la-pergola-dSrEUAtF3kU-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:94169;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:51:\"mario-la-pergola-dSrEUAtF3kU-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:334220;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:51:\"mario-la-pergola-dSrEUAtF3kU-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:566116;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:41:\"mario-la-pergola-dSrEUAtF3kU-unsplash.jpg\";}'),(131,9,'_thumbnail_id','349'),(135,352,'_wp_attached_file','2025/03/jf-martin-kZjBucSSj2s-unsplash-scaled.jpg'),(136,352,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:1709;s:6:\"height\";i:2560;s:4:\"file\";s:49:\"2025/03/jf-martin-kZjBucSSj2s-unsplash-scaled.jpg\";s:8:\"filesize\";i:605133;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:42:\"jf-martin-kZjBucSSj2s-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:16432;}s:5:\"large\";a:5:{s:4:\"file\";s:43:\"jf-martin-kZjBucSSj2s-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:128487;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:42:\"jf-martin-kZjBucSSj2s-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:10472;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:43:\"jf-martin-kZjBucSSj2s-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:156657;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:44:\"jf-martin-kZjBucSSj2s-unsplash-1026x1536.jpg\";s:5:\"width\";i:1026;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:259096;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:44:\"jf-martin-kZjBucSSj2s-unsplash-1367x2048.jpg\";s:5:\"width\";i:1367;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:420738;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:34:\"jf-martin-kZjBucSSj2s-unsplash.jpg\";}'),(139,5,'_thumbnail_id','352'),(144,355,'_edit_lock','1743161605:1'),(145,301,'_edit_lock','1743162050:1'),(146,313,'_edit_lock','1743161843:1'),(147,314,'_edit_lock','1743161867:1'),(148,315,'_edit_lock','1743161872:1'),(149,316,'_edit_lock','1743161880:1'),(150,317,'_edit_lock','1743161899:1'),(151,307,'_edit_lock','1743161960:1'),(152,308,'_edit_lock','1743161971:1'),(153,309,'_edit_lock','1743162020:1'),(154,310,'_edit_lock','1743162031:1'),(155,311,'_edit_lock','1743162031:1'),(156,302,'_edit_lock','1743162055:1'),(157,303,'_edit_lock','1743162061:1'),(158,304,'_edit_lock','1743162069:1'),(159,305,'_edit_lock','1743162076:1'),(160,356,'_wp_attached_file','2025/03/dabbas-j0OhftYAXR4-unsplash-scaled.jpg'),(161,356,'_wp_attachment_metadata','a:7:{s:5:\"width\";i:2560;s:6:\"height\";i:1921;s:4:\"file\";s:46:\"2025/03/dabbas-j0OhftYAXR4-unsplash-scaled.jpg\";s:8:\"filesize\";i:953553;s:5:\"sizes\";a:6:{s:6:\"medium\";a:5:{s:4:\"file\";s:39:\"dabbas-j0OhftYAXR4-unsplash-300x225.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:225;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:25014;}s:5:\"large\";a:5:{s:4:\"file\";s:40:\"dabbas-j0OhftYAXR4-unsplash-1024x768.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:223040;}s:9:\"thumbnail\";a:5:{s:4:\"file\";s:39:\"dabbas-j0OhftYAXR4-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:11344;}s:12:\"medium_large\";a:5:{s:4:\"file\";s:39:\"dabbas-j0OhftYAXR4-unsplash-768x576.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:576;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:132969;}s:9:\"1536x1536\";a:5:{s:4:\"file\";s:41:\"dabbas-j0OhftYAXR4-unsplash-1536x1153.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1153;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:440313;}s:9:\"2048x2048\";a:5:{s:4:\"file\";s:41:\"dabbas-j0OhftYAXR4-unsplash-2048x1537.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1537;s:9:\"mime-type\";s:10:\"image/jpeg\";s:8:\"filesize\";i:685580;}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:31:\"dabbas-j0OhftYAXR4-unsplash.jpg\";}'),(162,309,'_thumbnail_id','356'),(163,301,'_thumbnail_id','342'),(164,28,'_wp_trash_meta_status','publish'),(165,28,'_wp_trash_meta_time','1743165634'),(166,28,'_wp_desired_post_slug','taxonomy_67e68296e2309'); +/*!40000 ALTER TABLE `wp_postmeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_posts` +-- + +DROP TABLE IF EXISTS `wp_posts`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_posts` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `post_author` bigint(20) unsigned NOT NULL DEFAULT 0, + `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content` longtext NOT NULL, + `post_title` text NOT NULL, + `post_excerpt` text NOT NULL, + `post_status` varchar(20) NOT NULL DEFAULT 'publish', + `comment_status` varchar(20) NOT NULL DEFAULT 'open', + `ping_status` varchar(20) NOT NULL DEFAULT 'open', + `post_password` varchar(255) NOT NULL DEFAULT '', + `post_name` varchar(200) NOT NULL DEFAULT '', + `to_ping` text NOT NULL, + `pinged` text NOT NULL, + `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content_filtered` longtext NOT NULL, + `post_parent` bigint(20) unsigned NOT NULL DEFAULT 0, + `guid` varchar(255) NOT NULL DEFAULT '', + `menu_order` int(11) NOT NULL DEFAULT 0, + `post_type` varchar(20) NOT NULL DEFAULT 'post', + `post_mime_type` varchar(100) NOT NULL DEFAULT '', + `comment_count` bigint(20) NOT NULL DEFAULT 0, + PRIMARY KEY (`ID`), + KEY `post_name` (`post_name`(191)), + KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), + KEY `post_parent` (`post_parent`), + KEY `post_author` (`post_author`) +) ENGINE=InnoDB AUTO_INCREMENT=357 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_posts` +-- + +LOCK TABLES `wp_posts` WRITE; +/*!40000 ALTER TABLE `wp_posts` DISABLE KEYS */; +INSERT INTO `wp_posts` VALUES (2,1,'2025-03-28 10:41:07','2025-03-28 10:41:07','\n

This is an example page. It\'s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

\n\n\n\n

Hi there! I\'m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin\' caught in the rain.)

\n\n\n\n

...or something like this:

\n\n\n\n

The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.

\n\n\n\n

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

\n','Sample Page','','publish','closed','open','','sample-page','','','2025-03-28 10:41:07','2025-03-28 10:41:07','',0,'http://echoes.local/?page_id=2',0,'page','',0),(3,1,'2025-03-28 10:41:07','2025-03-28 10:41:07','\n

Who we are

\n\n\n

Suggested text: Our website address is: http://echoes.local.

\n\n\n

Comments

\n\n\n

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

\n\n\n

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

\n\n\n

Media

\n\n\n

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

\n\n\n

Cookies

\n\n\n

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

\n\n\n

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

\n\n\n

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

\n\n\n

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

\n\n\n

Embedded content from other websites

\n\n\n

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

\n\n\n

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

\n\n\n

Who we share your data with

\n\n\n

Suggested text: If you request a password reset, your IP address will be included in the reset email.

\n\n\n

How long we retain your data

\n\n\n

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

\n\n\n

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

\n\n\n

What rights you have over your data

\n\n\n

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

\n\n\n

Where your data is sent

\n\n\n

Suggested text: Visitor comments may be checked through an automated spam detection service.

\n\n','Privacy Policy','','draft','closed','open','','privacy-policy','','','2025-03-28 10:41:07','2025-03-28 10:41:07','',0,'http://echoes.local/?page_id=3',0,'page','',0),(4,1,'2025-03-28 10:41:26','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2025-03-28 10:41:26','0000-00-00 00:00:00','',0,'http://echoes.local/?p=4',0,'post','',0),(5,1,'2025-03-28 10:52:33','2025-03-28 10:52:33','Stained glass windows were more than just decorative elements in medieval architecture; they were powerful tools for storytelling and religious education. These magnificent works of art combined innovative glass-making techniques with detailed artistic expression to create luminous scenes that transformed interior spaces. The way sunlight filtered through these colored windows was often described as \"divine light\" by medieval observers.\n\nThe creation of medieval stained glass was a complex process that required significant skill and knowledge. Craftsmen would cut colored glass into specific shapes, paint details onto the glass pieces, and join them together with lead cames. The most impressive examples of medieval stained glass can be found in Gothic cathedrals, where large rose windows and towering lancet windows create breathtaking displays of colored light.\n\nBeyond their artistic beauty, stained glass windows served as \"books of light\" for the largely illiterate medieval population, depicting biblical stories, saints\' lives, and moral lessons through their vivid imagery. The technical and artistic achievement of medieval stained glass makers continues to inspire awe and admiration today.','Stained Glass: The Medieval Art of Light','','publish','open','open','','stained-glass-the-medieval-art-of-light','','','2025-03-28 11:35:33','2025-03-28 11:35:33','',0,'https://example.com/?p=5',0,'post','',0),(7,1,'2025-03-28 10:56:33','2025-03-28 10:56:33','The Gothic cathedrals of France stand as testament to medieval architectural brilliance and religious devotion. These magnificent structures, built between the 12th and 16th centuries, revolutionized architectural design with their innovative features and soaring heights. The implementation of pointed arches, ribbed vaults, and flying buttresses allowed these buildings to reach unprecedented heights while featuring walls of stained glass that seemed to defy gravity.\n\nNotre-Dame de Paris, despite recent challenges, remains one of the finest examples of French Gothic architecture. Its harmonious proportions, twin towers, and spectacular rose windows have inspired architects and artists for centuries. The cathedral\'s flying buttresses, among the first of their kind, demonstrate the innovative engineering solutions that made Gothic architecture possible.','The Magnificent Gothic Cathedrals of France','','publish','open','open','','the-magnificent-gothic-cathedrals-of-france','','','2025-03-28 11:32:12','2025-03-28 11:32:12','',0,'https://example.com/?p=1',0,'post','',0),(8,1,'2025-03-28 10:55:33','2025-03-28 10:55:33','Medieval castles were masterpieces of defensive architecture, designed to protect their inhabitants from siege and assault. The evolution of castle design reflects the ongoing battle between defensive innovations and offensive warfare techniques. From simple wooden structures on hills, castles evolved into sophisticated stone fortresses with multiple layers of defense.\n\nThe key elements of castle defense included high stone walls, moats, drawbridges, and strategic placement on elevated ground. Concentric castles, with their multiple rings of walls, represented the pinnacle of medieval defensive architecture. These formidable structures often featured arrow slits, murder holes, and machicolations, all designed to give defenders the advantage over attacking forces.\n\nThe great keeps of these castles served not only as last-resort defensive positions but also as symbols of power and authority. Their thick walls and limited access points made them nearly impregnable when properly defended, while their impressive height served as a constant reminder of the lord\'s authority over the surrounding lands.','Medieval Castle Defense Systems','','publish','open','open','','medieval-castle-defense-systems','','','2025-03-28 11:33:42','2025-03-28 11:33:42','',0,'https://example.com/?p=2',0,'post','',0),(9,1,'2025-03-28 10:54:33','2025-03-28 10:54:33','\n \"Romanesque\n \n

Romanesque architecture, predominant in medieval Europe from the 6th to the 11th century, marked a significant evolution in building design. Characterized by its massive walls, round arches, and barrel vaults, this architectural style laid the foundation for the later Gothic period. The term \"Romanesque\" reflects the architecture\'s similarity to Roman designs, particularly in the use of round arches and vaulted ceilings.

\n\n

One of the most distinctive features of Romanesque architecture is the rounded arch, used for both structural and decorative purposes. These arches appeared in doorways, windows, and arcade sections, creating the characteristic appearance we associate with medieval churches and monasteries. The thick walls and small windows of Romanesque buildings were necessary to support the heavy stone vaults above.

\n ','Romanesque Architecture: The Round Arch Revolution','','publish','open','open','','romanesque-architecture-the-round-arch-revolution','','','2025-03-28 11:34:30','2025-03-28 11:34:30','',0,'https://example.com/?p=3',0,'post','',0),(11,1,'2025-03-28 11:01:53','2025-03-28 11:01:53','','Navigation','','publish','closed','closed','','navigation','','','2025-03-28 11:01:53','2025-03-28 11:01:53','',0,'http://echoes.local/navigation/',0,'wp_navigation','',0),(13,1,'2025-03-28 10:58:39','2025-03-28 10:58:39','Chinese pagodas represent some of the most iconic structures in Oriental architecture, serving as both religious monuments and symbols of cultural identity. These multi-tiered towers, evolving from Indian stupas, have become distinctive features of the Chinese landscape. Each level of a pagoda typically features characteristic upturned eaves, creating a visual rhythm that draws the eye skyward.\n\nThe engineering behind these structures is remarkably sophisticated, incorporating innovative techniques for earthquake resistance and weight distribution. The use of a central pillar, known as the \"heart pillar,\" combined with sophisticated bracketing systems, allows these towers to maintain their stability despite their impressive heights. Many ancient pagodas have survived centuries of natural disasters, testament to their ingenious construction methods.\n\nBeyond their structural brilliance, pagodas also serve as repositories of Buddhist relics and sacred texts, making them important centers of spiritual life. Their placement often follows precise feng shui principles, ensuring harmony with the surrounding landscape and optimal energy flow.','The Ancient Art of Chinese Pagodas','','publish','open','open','','the-ancient-art-of-chinese-pagodas','','','2025-03-28 11:30:41','2025-03-28 11:30:41','',0,'https://example.com/?p=1',0,'post','',0),(14,1,'2025-03-28 10:57:39','2025-03-28 10:57:39','Japanese Zen gardens, or karesansui, represent the epitome of minimalist architectural design in Oriental culture. These dry landscape gardens use carefully arranged rocks, gravel, and occasional plant elements to create spaces for meditation and contemplation. The architectural principles behind these gardens emphasize void spaces as much as physical elements, creating a perfect balance between presence and absence.\n\nThe design of Zen gardens follows strict principles that have been refined over centuries. The placement of each element is carefully considered, with rocks and sand patterns often representing natural landscapes in abstract forms. The surrounding architecture, including verandas and viewing pavilions, is integral to the garden experience, creating carefully framed views and meditation spaces.','Japanese Zen Gardens: Architecture of Tranquility','','publish','open','open','','japanese-zen-gardens-architecture-of-tranquility','','','2025-03-28 11:31:20','2025-03-28 11:31:20','',0,'https://example.com/?p=2',0,'post','',0),(15,1,'2025-03-28 10:56:39','2025-03-28 10:56:39','The Forbidden City stands as the ultimate expression of Chinese imperial architecture, embodying centuries of architectural wisdom and symbolic design. This vast palace complex demonstrates the sophisticated planning principles of traditional Chinese architecture, with its strict axiality, hierarchical spaces, and profound symbolic meanings embedded in every architectural detail.\n\nThe architectural features of the Forbidden City are rich with symbolism: the yellow roof tiles, exclusive to imperial buildings, the number of studs on doors indicating the rank of the building\'s occupant, and the intricate bracketing systems known as dougong that support the massive roofs without nails. The entire complex was designed according to cosmic principles, reflecting the emperor\'s role as the Son of Heaven.\n\nThe palace\'s defensive architecture is equally impressive, featuring high walls, moats, and strategic gates that created multiple layers of security. Yet within these defensive walls lie some of the most refined examples of Chinese architectural aesthetics, from delicate gardens to grand ceremonial halls.','The Forbidden City: Marvel of Imperial Chinese Architecture','','publish','open','open','','the-forbidden-city-marvel-of-imperial-chinese-architecture','','','2025-03-28 11:31:33','2025-03-28 11:31:33','',0,'https://example.com/?p=3',0,'post','',0),(16,1,'2025-03-28 10:55:39','2025-03-28 10:55:39','Japanese wooden architecture represents a unique tradition that has evolved over millennia, characterized by sophisticated joinery techniques that eliminate the need for nails or screws. This architectural tradition emphasizes the natural beauty of wood and creates structures that can be dismantled and rebuilt, contributing to their longevity and sustainability.\n\nThe most remarkable aspect of Japanese wooden architecture is its ability to create large, open spaces using post-and-beam construction combined with complex bracketing systems. Temples like Hōryū-ji, the world\'s oldest surviving wooden structure, demonstrate how these techniques have created buildings that have endured for over 1,300 years.\n\nThe aesthetic principles of Japanese wooden architecture emphasize the importance of the grain and natural patterns in the wood, often leaving it unfinished or minimally treated to maintain its natural beauty. This approach reflects the broader Japanese aesthetic principle of finding beauty in simplicity and natural materials.','Traditional Japanese Wood Architecture','','publish','open','open','','traditional-japanese-wood-architecture','','','2025-03-28 11:33:07','2025-03-28 11:33:07','',0,'https://example.com/?p=4',0,'post','',0),(17,1,'2025-03-28 10:54:39','2025-03-28 10:54:39','Feng Shui principles have profoundly influenced Oriental architecture for thousands of years, shaping everything from city planning to interior design. This ancient practice of harmonizing people with their surrounding environment has created architectural guidelines that promote balance, prosperity, and well-being. The careful consideration of natural elements, cardinal directions, and energy flow has resulted in distinctive architectural features throughout East Asia.\n\nIn traditional Oriental architecture, Feng Shui principles determine crucial aspects such as building orientation, door placement, and room layout. The concept of qi (life force) flowing through buildings has led to specific architectural features like curved pathways in gardens, strategic placement of water features, and the deliberate positioning of structural elements to promote positive energy flow.\n\nModern architects continue to incorporate these ancient principles into contemporary designs, recognizing their value in creating harmonious living and working spaces. The enduring influence of Feng Shui demonstrates how traditional wisdom can inform modern architectural practices.','Feng Shui in Oriental Architecture','','publish','open','open','','feng-shui-in-oriental-architecture','','','2025-03-28 11:33:55','2025-03-28 11:33:55','',0,'https://example.com/?p=5',0,'post','',0),(19,1,'2025-03-28 11:00:31','2025-03-28 11:00:31','Islamic geometric patterns represent one of the most distinctive features of Middle Eastern architecture, combining mathematical precision with artistic beauty. These intricate designs, which adorn everything from mosque walls to palace ceilings, reflect the Islamic appreciation of unity and order in art. The patterns are based on repeated geometric shapes, creating infinite patterns that symbolize the infinite nature of Allah.\n\nThe complexity of these patterns stems from the mathematical principles of symmetry and proportion. Architects and artisans used simple tools - compass and ruler - to create designs of astounding complexity. The patterns typically begin with a basic geometric shape, such as a circle, which is then repeated, interlaced, and expanded to create elaborate star patterns and complex polygonal compositions.\n\nThese geometric patterns serve both decorative and spiritual purposes. In the absence of figurative art in religious spaces, these patterns became a primary means of architectural decoration, creating spaces of contemplation and beauty that reflect the mathematical order of the universe.','The Art of Islamic Geometric Patterns','','publish','open','open','','the-art-of-islamic-geometric-patterns','','','2025-03-28 11:27:35','2025-03-28 11:27:35','',0,'https://example.com/?p=1',0,'post','',0),(21,1,'2025-03-28 11:00:31','2025-03-28 11:00:31','Persian gardens and palaces represent a unique architectural tradition that has influenced design throughout the Middle East and beyond. The concept of the chahar bagh (four-garden) layout, with its quadrilateral design divided by waterways and walkways, creates an earthly paradise that reflects the Islamic description of heaven. These gardens are not merely decorative but represent a sophisticated understanding of hydraulics, climatology, and spatial design.\n\nThe palaces integrated within these gardens showcase the refinement of Persian architecture, with their intricate tile work, mirror mosaics, and carved stucco decorations. The interplay between indoor and outdoor spaces creates a seamless flow between architecture and nature, while clever design features like wind towers (badgirs) provide natural cooling in the harsh desert climate.\n\nFamous examples like the Golestan Palace complex in Tehran demonstrate how these architectural principles evolved over time, incorporating new influences while maintaining traditional Persian design elements. The integration of water features, shade, and carefully planned sight lines creates spaces of extraordinary beauty and comfort.','Persian Gardens and Palace Architecture','','publish','open','open','','persian-gardens-and-palace-architecture','','','2025-03-28 11:29:05','2025-03-28 11:29:05','',0,'https://example.com/?p=3',0,'post','',0),(22,1,'2025-03-28 11:00:31','2025-03-28 11:00:31','Arabic calligraphy stands as one of the most distinctive features of Middle Eastern architecture, transforming buildings into three-dimensional manuscripts. This architectural calligraphy goes beyond mere decoration, incorporating Quranic verses, poetry, and historical inscriptions that give buildings both spiritual and cultural significance. The integration of script into architectural design reached its peak during the Islamic Golden Age, creating a unique fusion of text and architecture.\n\nThe evolution of architectural calligraphy reflects the development of various Arabic scripts, from the angular Kufic to the flowing Thuluth style. Artisans developed innovative techniques to incorporate these scripts into different materials - carved in stone, molded in stucco, or crafted in tilework. The placement of calligraphy often follows careful architectural planning, with specific texts chosen for particular locations within buildings.','The Evolution of Arabic Calligraphy in Architecture','','publish','open','open','','the-evolution-of-arabic-calligraphy-in-architecture','','','2025-03-28 11:29:24','2025-03-28 11:29:24','',0,'https://example.com/?p=4',0,'post','',0),(23,1,'2025-03-28 11:00:31','2025-03-28 11:00:31','Arabesque patterns represent one of the most sophisticated developments in architectural decoration, combining floral motifs with geometric patterns to create intricate, endless designs. These flowing, interlaced patterns are characterized by a continuous stem system that produces a variety of abstract flowers, leaves, and tendrils, creating a rhythmic pattern that appears to extend infinitely in all directions.\n\nThe development of arabesque patterns reflects the Islamic artistic tradition\'s emphasis on non-representational art. These patterns serve multiple purposes: they create visual interest, demonstrate mathematical and artistic sophistication, and reflect theological concepts about the infinite nature of divine creation. The complexity of arabesque designs often increases around focal points such as mihrab niches or entrance portals.\n\nModern Middle Eastern architecture continues to incorporate arabesque patterns, often reinterpreting traditional designs through contemporary materials and techniques. This enduring influence demonstrates how historical decorative elements can be adapted for contemporary architectural expression while maintaining their cultural significance.','The Art of Arabesque in Middle Eastern Architecture','','publish','open','open','','the-art-of-arabesque-in-middle-eastern-architecture','','','2025-03-28 11:29:36','2025-03-28 11:29:36','',0,'https://example.com/?p=5',0,'post','',0),(24,1,'2025-03-28 11:03:37','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2025-03-28 11:03:37','0000-00-00 00:00:00','',0,'http://echoes.local/?p=24',0,'post','',0),(25,1,'2025-03-28 11:03:37','2025-03-28 11:03:37','{\"version\": 3, \"isGlobalStylesUserThemeJSON\": true }','Custom Styles','','publish','closed','closed','','wp-global-styles-twentytwentyfive','','','2025-03-28 11:03:37','2025-03-28 11:03:37','',0,'http://echoes.local/wp-global-styles-twentytwentyfive/',0,'wp_global_styles','',0),(26,1,'2025-03-28 11:05:00','2025-03-28 11:05:00','a:38:{s:9:\"post_type\";s:8:\"building\";s:22:\"advanced_configuration\";b:1;s:13:\"import_source\";s:0:\"\";s:11:\"import_date\";s:0:\"\";s:6:\"labels\";a:33:{s:4:\"name\";s:9:\"Buildings\";s:13:\"singular_name\";s:8:\"Building\";s:9:\"menu_name\";s:9:\"Buildings\";s:9:\"all_items\";s:13:\"All Buildings\";s:9:\"edit_item\";s:13:\"Edit Building\";s:9:\"view_item\";s:13:\"View Building\";s:10:\"view_items\";s:14:\"View Buildings\";s:12:\"add_new_item\";s:16:\"Add New Building\";s:7:\"add_new\";s:16:\"Add New Building\";s:8:\"new_item\";s:12:\"New Building\";s:17:\"parent_item_colon\";s:16:\"Parent Building:\";s:12:\"search_items\";s:16:\"Search Buildings\";s:9:\"not_found\";s:18:\"No buildings found\";s:18:\"not_found_in_trash\";s:27:\"No buildings found in Trash\";s:8:\"archives\";s:17:\"Building Archives\";s:10:\"attributes\";s:19:\"Building Attributes\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:16:\"insert_into_item\";s:20:\"Insert into building\";s:21:\"uploaded_to_this_item\";s:25:\"Uploaded to this building\";s:17:\"filter_items_list\";s:21:\"Filter buildings list\";s:14:\"filter_by_date\";s:24:\"Filter buildings by date\";s:21:\"items_list_navigation\";s:25:\"Buildings list navigation\";s:10:\"items_list\";s:14:\"Buildings list\";s:14:\"item_published\";s:19:\"Building published.\";s:24:\"item_published_privately\";s:29:\"Building published privately.\";s:22:\"item_reverted_to_draft\";s:27:\"Building reverted to draft.\";s:14:\"item_scheduled\";s:19:\"Building scheduled.\";s:12:\"item_updated\";s:17:\"Building updated.\";s:9:\"item_link\";s:13:\"Building Link\";s:21:\"item_link_description\";s:21:\"A link to a building.\";}s:11:\"description\";s:0:\"\";s:6:\"public\";b:1;s:12:\"hierarchical\";b:0;s:19:\"exclude_from_search\";b:0;s:18:\"publicly_queryable\";b:1;s:7:\"show_ui\";b:1;s:12:\"show_in_menu\";b:1;s:17:\"admin_menu_parent\";s:0:\"\";s:17:\"show_in_admin_bar\";b:1;s:17:\"show_in_nav_menus\";b:1;s:12:\"show_in_rest\";b:1;s:9:\"rest_base\";s:0:\"\";s:14:\"rest_namespace\";s:5:\"wp/v2\";s:21:\"rest_controller_class\";s:24:\"WP_REST_Posts_Controller\";s:13:\"menu_position\";s:0:\"\";s:9:\"menu_icon\";a:2:{s:4:\"type\";s:9:\"dashicons\";s:5:\"value\";s:20:\"dashicons-admin-post\";}s:19:\"rename_capabilities\";b:0;s:24:\"singular_capability_name\";s:4:\"post\";s:22:\"plural_capability_name\";s:5:\"posts\";s:8:\"supports\";a:5:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:7:\"excerpt\";i:3;s:9:\"thumbnail\";i:4;s:13:\"custom-fields\";}s:10:\"taxonomies\";s:0:\"\";s:11:\"has_archive\";b:0;s:16:\"has_archive_slug\";s:0:\"\";s:7:\"rewrite\";a:4:{s:17:\"permalink_rewrite\";s:13:\"post_type_key\";s:10:\"with_front\";s:1:\"1\";s:5:\"feeds\";s:1:\"0\";s:5:\"pages\";s:1:\"1\";}s:9:\"query_var\";s:13:\"post_type_key\";s:14:\"query_var_name\";s:0:\"\";s:10:\"can_export\";b:1;s:16:\"delete_with_user\";b:0;s:20:\"register_meta_box_cb\";s:0:\"\";s:16:\"enter_title_here\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:19:\"graphql_single_name\";s:8:\"building\";s:19:\"graphql_plural_name\";s:9:\"buildings\";}','Buildings','buildings','publish','closed','closed','','post_type_67e68244b3194','','','2025-03-28 14:19:30','2025-03-28 14:19:30','',0,'http://echoes.local/?post_type=acf-post-type&p=26',0,'acf-post-type','',0),(27,1,'2025-03-28 11:05:55','2025-03-28 11:05:55','a:32:{s:8:\"taxonomy\";s:6:\"period\";s:11:\"object_type\";a:2:{i:0;s:4:\"post\";i:1;s:8:\"building\";}s:22:\"advanced_configuration\";i:1;s:13:\"import_source\";s:0:\"\";s:11:\"import_date\";s:0:\"\";s:6:\"labels\";a:25:{s:4:\"name\";s:7:\"Periods\";s:13:\"singular_name\";s:6:\"Period\";s:9:\"menu_name\";s:7:\"Periods\";s:9:\"all_items\";s:11:\"All Periods\";s:9:\"edit_item\";s:11:\"Edit Period\";s:9:\"view_item\";s:11:\"View Period\";s:11:\"update_item\";s:13:\"Update Period\";s:12:\"add_new_item\";s:14:\"Add New Period\";s:13:\"new_item_name\";s:15:\"New Period Name\";s:12:\"search_items\";s:14:\"Search Periods\";s:13:\"popular_items\";s:15:\"Popular Periods\";s:26:\"separate_items_with_commas\";s:28:\"Separate periods with commas\";s:19:\"add_or_remove_items\";s:21:\"Add or remove periods\";s:21:\"choose_from_most_used\";s:33:\"Choose from the most used periods\";s:9:\"most_used\";s:0:\"\";s:9:\"not_found\";s:16:\"No periods found\";s:8:\"no_terms\";s:10:\"No periods\";s:22:\"name_field_description\";s:0:\"\";s:22:\"slug_field_description\";s:0:\"\";s:22:\"desc_field_description\";s:0:\"\";s:21:\"items_list_navigation\";s:23:\"Periods list navigation\";s:10:\"items_list\";s:12:\"Periods list\";s:13:\"back_to_items\";s:17:\"← Go to periods\";s:9:\"item_link\";s:11:\"Period Link\";s:21:\"item_link_description\";s:18:\"A link to a period\";}s:11:\"description\";s:0:\"\";s:12:\"capabilities\";a:4:{s:12:\"manage_terms\";s:17:\"manage_categories\";s:10:\"edit_terms\";s:17:\"manage_categories\";s:12:\"delete_terms\";s:17:\"manage_categories\";s:12:\"assign_terms\";s:10:\"edit_posts\";}s:6:\"public\";i:1;s:18:\"publicly_queryable\";i:1;s:12:\"hierarchical\";i:0;s:7:\"show_ui\";i:1;s:12:\"show_in_menu\";i:1;s:17:\"show_in_nav_menus\";i:1;s:12:\"show_in_rest\";i:1;s:9:\"rest_base\";s:0:\"\";s:14:\"rest_namespace\";s:5:\"wp/v2\";s:21:\"rest_controller_class\";s:24:\"WP_REST_Terms_Controller\";s:13:\"show_tagcloud\";i:1;s:18:\"show_in_quick_edit\";i:1;s:17:\"show_admin_column\";i:0;s:7:\"rewrite\";a:3:{s:17:\"permalink_rewrite\";s:12:\"taxonomy_key\";s:10:\"with_front\";s:1:\"1\";s:20:\"rewrite_hierarchical\";s:1:\"0\";}s:9:\"query_var\";s:13:\"post_type_key\";s:14:\"query_var_name\";s:0:\"\";s:12:\"default_term\";a:1:{s:20:\"default_term_enabled\";s:1:\"0\";}s:4:\"sort\";i:0;s:8:\"meta_box\";s:7:\"default\";s:11:\"meta_box_cb\";s:0:\"\";s:20:\"meta_box_sanitize_cb\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:19:\"graphql_single_name\";s:6:\"period\";s:19:\"graphql_plural_name\";s:7:\"periods\";}','Periods','periods','publish','closed','closed','','taxonomy_67e682650f8d6','','','2025-03-28 11:05:55','2025-03-28 11:05:55','',0,'http://echoes.local/?post_type=acf-taxonomy&p=27',0,'acf-taxonomy','',0),(28,1,'2025-03-28 11:06:20','2025-03-28 11:06:20','a:32:{s:8:\"taxonomy\";s:5:\"style\";s:11:\"object_type\";a:2:{i:0;s:8:\"building\";i:1;s:4:\"post\";}s:22:\"advanced_configuration\";i:1;s:13:\"import_source\";s:0:\"\";s:11:\"import_date\";s:0:\"\";s:6:\"labels\";a:25:{s:4:\"name\";s:6:\"Styles\";s:13:\"singular_name\";s:5:\"Style\";s:9:\"menu_name\";s:5:\"Style\";s:9:\"all_items\";s:9:\"All Style\";s:9:\"edit_item\";s:10:\"Edit Style\";s:9:\"view_item\";s:10:\"View Style\";s:11:\"update_item\";s:12:\"Update Style\";s:12:\"add_new_item\";s:13:\"Add New Style\";s:13:\"new_item_name\";s:14:\"New Style Name\";s:12:\"search_items\";s:12:\"Search Style\";s:13:\"popular_items\";s:13:\"Popular Style\";s:26:\"separate_items_with_commas\";s:26:\"Separate style with commas\";s:19:\"add_or_remove_items\";s:19:\"Add or remove style\";s:21:\"choose_from_most_used\";s:31:\"Choose from the most used style\";s:9:\"most_used\";s:0:\"\";s:9:\"not_found\";s:14:\"No style found\";s:8:\"no_terms\";s:8:\"No style\";s:22:\"name_field_description\";s:0:\"\";s:22:\"slug_field_description\";s:0:\"\";s:22:\"desc_field_description\";s:0:\"\";s:21:\"items_list_navigation\";s:21:\"Style list navigation\";s:10:\"items_list\";s:10:\"Style list\";s:13:\"back_to_items\";s:15:\"← Go to style\";s:9:\"item_link\";s:10:\"Style Link\";s:21:\"item_link_description\";s:17:\"A link to a style\";}s:11:\"description\";s:0:\"\";s:12:\"capabilities\";a:4:{s:12:\"manage_terms\";s:17:\"manage_categories\";s:10:\"edit_terms\";s:17:\"manage_categories\";s:12:\"delete_terms\";s:17:\"manage_categories\";s:12:\"assign_terms\";s:10:\"edit_posts\";}s:6:\"public\";i:1;s:18:\"publicly_queryable\";i:1;s:12:\"hierarchical\";i:0;s:7:\"show_ui\";i:1;s:12:\"show_in_menu\";i:1;s:17:\"show_in_nav_menus\";i:1;s:12:\"show_in_rest\";i:1;s:9:\"rest_base\";s:0:\"\";s:14:\"rest_namespace\";s:5:\"wp/v2\";s:21:\"rest_controller_class\";s:24:\"WP_REST_Terms_Controller\";s:13:\"show_tagcloud\";i:1;s:18:\"show_in_quick_edit\";i:1;s:17:\"show_admin_column\";i:0;s:7:\"rewrite\";a:3:{s:17:\"permalink_rewrite\";s:12:\"taxonomy_key\";s:10:\"with_front\";s:1:\"1\";s:20:\"rewrite_hierarchical\";s:1:\"0\";}s:9:\"query_var\";s:13:\"post_type_key\";s:14:\"query_var_name\";s:0:\"\";s:12:\"default_term\";a:1:{s:20:\"default_term_enabled\";s:1:\"0\";}s:4:\"sort\";i:0;s:8:\"meta_box\";s:7:\"default\";s:11:\"meta_box_cb\";s:0:\"\";s:20:\"meta_box_sanitize_cb\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:19:\"graphql_single_name\";s:5:\"style\";s:19:\"graphql_plural_name\";s:5:\"style\";}','Styles','styles','trash','closed','closed','','taxonomy_67e68296e2309__trashed','','','2025-03-28 12:40:34','2025-03-28 12:40:34','',0,'http://echoes.local/?post_type=acf-taxonomy&p=28',0,'acf-taxonomy','',0),(30,1,'2025-03-28 11:04:07','2025-03-28 11:04:07','The Inca civilization\'s most remarkable architectural achievement was their sophisticated stone masonry technique. Without the use of mortar, they created structures of such precision that even today, it\'s impossible to insert a knife blade between the stones. This technique, known as ashlar masonry, involved fitting massive stone blocks together like a complex three-dimensional puzzle, with each stone cut to perfectly match its neighbors.\n\nThe engineering principles behind Inca stone construction were remarkably advanced. The stones were cut to fit together in an interlocking pattern that made buildings extremely stable and earthquake-resistant. The slight inward tilt of walls, trapezoidal doorways, and rounded corners further enhanced structural stability, while the careful placement of stones created natural drainage systems that have preserved these structures for centuries.\n\nPerhaps most impressive is that these architectural feats were accomplished without the use of metal tools, the wheel, or any written language to record their techniques. The Inca builders relied on an intricate system of knotted cords called quipus for measurements and used stone hammers and bronze tools to achieve their remarkable precision.','Inca Stone Masonry: Engineering Marvel of the Ancient Americas','','publish','open','open','','inca-stone-masonry-engineering-marvel-of-the-ancient-americas','','','2025-03-28 11:25:04','2025-03-28 11:25:04','',0,'https://example.com/?p=1',0,'post','',0),(31,1,'2025-03-28 11:04:07','2025-03-28 11:04:07','Mayan pyramids represent some of the most sophisticated astronomical observatories ever created in the ancient world. These structures were not just ceremonial centers but precise calendrical tools that tracked celestial movements. The famous pyramid of Kukulcán at Chichen Itza, for example, is designed so that during the spring and autumn equinoxes, the play of sunlight and shadow creates the appearance of a serpent descending the northern stairway.\n\nThe architectural design of Mayan pyramids typically followed strict mathematical and astronomical principles. Many pyramids were built with exactly 365 steps, one for each day of the year, while their orientation and alignment were precisely calculated to mark important celestial events. The structures often featured multiple layers, with each new layer corresponding to different periods in Maya chronology.','Mayan Pyramids: Sacred Architecture of Time and Space','','publish','open','open','','mayan-pyramids-sacred-architecture-of-time-and-space','','','2025-03-28 11:25:35','2025-03-28 11:25:35','',0,'https://example.com/?p=2',0,'post','',0),(32,1,'2025-03-28 11:04:07','2025-03-28 11:04:07','The agricultural terraces of the Inca Empire represent one of the most impressive feats of ancient engineering and architectural innovation. These andenes (terraced fields) transformed steep mountain slopes into fertile farmland, creating microclimates that could sustain crops at altitudes where agriculture would otherwise be impossible. The terraces at sites like Moray served as agricultural laboratories where the Inca could study the effects of different growing conditions.\n\nThe construction of these terraces involved sophisticated engineering principles. Each terrace level was built with layers of stone, gravel, and soil that provided excellent drainage and prevented erosion. The stone retaining walls were slightly inclined inward to resist the pressure of the earth behind them, while sophisticated drainage systems helped prevent water accumulation that could destabilize the structures.\n\nBeyond their practical function, these terraces created stunning visual effects, transforming entire mountainsides into giant green staircases that followed the natural contours of the landscape. Sites like Machu Picchu demonstrate how the Inca seamlessly integrated agricultural functionality with aesthetic and ceremonial considerations.','Agricultural Terraces of the Inca Empire','','publish','open','open','','agricultural-terraces-of-the-inca-empire','','','2025-03-28 11:26:24','2025-03-28 11:26:24','',0,'https://example.com/?p=3',0,'post','',0),(33,1,'2025-03-28 11:04:07','2025-03-28 11:04:07','Aztec temple architecture embodied complex mathematical and cosmological principles that reflected their understanding of the universe. The famous Templo Mayor in Tenochtitlan, with its dual shrines and carefully planned proportions, represented the Aztec cosmos in architectural form. The temple\'s design incorporated specific numerical relationships that corresponded to their calendar system and religious beliefs.\n\nThe use of sacred geometry in Aztec architecture extended beyond religious structures to city planning. Tenochtitlan was laid out according to cosmic principles, with its main ceremonial precinct aligned to astronomical events. The careful orientation of buildings and plazas created sight lines that marked important celestial occurrences, while the proportions of structures often reflected important numbers in Aztec mythology.','Sacred Geometry in Aztec Temple Design','','publish','open','open','','sacred-geometry-in-aztec-temple-design','','','2025-03-28 11:25:48','2025-03-28 11:25:48','',0,'https://example.com/?p=4',0,'post','',0),(301,1,'2025-03-28 11:15:57','2025-03-28 11:15:57','

Overview

\nNotre-Dame Cathedral stands as one of the finest examples of French Gothic architecture. Construction began in 1163 and was largely completed by 1345. The cathedral\'s architectural innovations, including its pioneering use of the rib vault and flying buttress, set new standards for medieval architecture.\n

Architectural Features

\n
    \n
  • Flying buttresses
  • \n
  • Pointed arches
  • \n
  • Ribbed vaults
  • \n
  • Rose windows
  • \n
  • Twin western towers
  • \n
\n

Dimensions

\nHeight: 69 meters (towers)\nLength: 128 meters\nWidth: 48 meters\n

Historical Significance

\nThe cathedral has served as the religious heart of Paris for centuries and represents the peak of French Gothic architectural achievement. Its construction spanned multiple architectural phases, showcasing the evolution of Gothic style.','Notre-Dame Cathedral, Paris','','publish','closed','closed','','notre-dame-cathedral-paris','','','2025-03-28 11:40:52','2025-03-28 11:40:52','',0,'https://example.com/building/?p=301',0,'building','',0),(302,1,'2025-03-28 11:15:57','2025-03-28 11:15:57','

Overview

\nDurham Cathedral represents the most complete survival of a Norman monastic cathedral church in England. Built between 1093 and 1133, it showcases innovative architectural solutions including the first known example of pointed ribbed vaults.\n

Architectural Features

\n
    \n
  • Ribbed vaulting
  • \n
  • Massive cylindrical piers
  • \n
  • Geometric stone patterns
  • \n
  • Galilee Chapel
  • \n
  • Central tower
  • \n
\n

Dimensions

\nHeight: 66 meters (central tower)\nLength: 143 meters\nWidth: 30 meters (nave)\n

Historical Significance

\nThe cathedral represents the height of Norman architectural achievement and serves as a prototype for later Gothic developments in architecture.','Durham Cathedral','','publish','closed','closed','','durham-cathedral','','','2025-03-28 11:41:00','2025-03-28 11:41:00','',0,'https://example.com/building/?p=302',0,'building','',0),(303,1,'2025-03-28 11:15:57','2025-03-28 11:15:57','

Overview

\nThe Château de Loches is one of the best-preserved medieval castles in France. Built in the 9th century and expanded through the 14th century, it exemplifies medieval military architecture with its massive keep and fortified walls.\n

Architectural Features

\n
    \n
  • Square stone keep
  • \n
  • Defensive walls
  • \n
  • Arrow slits
  • \n
  • Machicolations
  • \n
  • Drawbridge
  • \n
\n

Dimensions

\nKeep height: 36 meters\nWall thickness: up to 3 meters\nSite area: 1.5 hectares\n

Historical Significance

\nThe castle served as both a military stronghold and royal residence, demonstrating the evolution of medieval defensive architecture.','Château de Loches','','publish','closed','closed','','chateau-de-loches','','','2025-03-28 11:41:08','2025-03-28 11:41:08','',0,'https://example.com/building/?p=303',0,'building','',0),(304,1,'2025-03-28 11:15:57','2025-03-28 11:15:57','

Overview

\nSalisbury Cathedral, built between 1220 and 1258, represents the epitome of Early English Gothic architecture. Its spire, added in the 14th century, is the tallest medieval church spire in Britain.\n

Architectural Features

\n
    \n
  • Pointed spire
  • \n
  • Lancet windows
  • \n
  • Vaulted ceiling
  • \n
  • Flying buttresses
  • \n
  • Cloisters
  • \n
\n

Dimensions

\nSpire height: 123 meters\nLength: 134 meters\nWidth: 52 meters\n

Historical Significance

\nThe cathedral showcases the transition from Early English to Decorated Gothic styles and houses one of the four surviving copies of the Magna Carta.','Salisbury Cathedral','','publish','closed','closed','','salisbury-cathedral','','','2025-03-28 11:41:15','2025-03-28 11:41:15','',0,'https://example.com/building/?p=304',0,'building','',0),(305,1,'2025-03-28 11:15:57','2025-03-28 11:15:57','

Overview

\nSainte-Chapelle, completed in 1248, represents the highest achievement of Rayonnant Gothic architecture. The chapel was built to house Christ\'s Crown of Thorns and other precious relics.\n

Architectural Features

\n
    \n
  • Stained glass walls
  • \n
  • Two-story chapel design
  • \n
  • Slender columns
  • \n
  • Intricate tracery
  • \n
  • Pointed spire
  • \n
\n

Dimensions

\nHeight: 42.5 meters\nLength: 36 meters\nWidth: 17 meters\n

Historical Significance

\nThe chapel is considered one of the highest achievements of the Rayonnant period of Gothic architecture, featuring the most extensive 13th-century stained glass collection anywhere in the world.','Saint-Chapelle','','publish','closed','closed','','saint-chapelle','','','2025-03-28 11:41:22','2025-03-28 11:41:22','',0,'https://example.com/building/?p=305',0,'building','',0),(307,1,'2025-03-28 11:18:27','2025-03-28 11:18:27','

Overview

\nThe Great Mosque of Damascus, also known as the Umayyad Mosque, was completed in 715 CE and stands as one of the oldest and largest mosques in the world. The building represents a remarkable fusion of Byzantine and Islamic architectural traditions.\n

Architectural Features

\n
    \n
  • Three minarets
  • \n
  • Large courtyard
  • \n
  • Byzantine-style mosaics
  • \n
  • Prayer hall with central nave
  • \n
  • Marble floors and columns
  • \n
\n

Dimensions

\nTotal area: 4 hectares\nCourtyard: 122 x 50 meters\nPrayer hall: 136 x 37 meters\n

Historical Significance

\nThe mosque represents the architectural achievement of the Umayyad dynasty and set the standard for mosque architecture throughout the Islamic world.','Great Mosque of Damascus','','publish','closed','closed','','great-mosque-of-damascus','','','2025-03-28 11:39:22','2025-03-28 11:39:22','',0,'https://example.com/building/?p=306',0,'building','',0),(308,1,'2025-03-28 11:18:27','2025-03-28 11:18:27','

Overview

\nFounded in 970 CE, Al-Azhar Mosque represents the finest Fatimid architecture in Egypt. It was established as both a mosque and a center of learning, becoming one of the world\'s oldest operating universities.\n

Architectural Features

\n
    \n
  • Five minarets from different periods
  • \n
  • Multiple prayer halls
  • \n
  • Pointed arches
  • \n
  • Decorated mihrab
  • \n
  • Central courtyard
  • \n
\n

Dimensions

\nTotal area: 3 hectares\nMain prayer hall: 80 x 50 meters\nTallest minaret: 84 meters\n

Historical Significance

\nThe mosque showcases the evolution of Islamic architecture through various historical periods and remains a crucial center of Islamic learning.','Al-Azhar Mosque','','publish','closed','closed','','al-azhar-mosque','','','2025-03-28 11:39:37','2025-03-28 11:39:37','',0,'https://example.com/building/?p=307',0,'building','',0),(309,1,'2025-03-28 11:18:27','2025-03-28 11:18:27','

Overview

\nThe Citadel of Aleppo is one of the oldest and largest castles in the world. While the site has been occupied since the 3rd millennium BCE, the current structure dates mainly from the 12th and 13th centuries.\n

Architectural Features

\n
    \n
  • Massive stone walls
  • \n
  • Entrance bridge complex
  • \n
  • Great Mosque within the citadel
  • \n
  • Underground passages
  • \n
  • Defensive towers
  • \n
\n

Dimensions

\nHeight: 50 meters above city level\nTotal area: 4.5 hectares\nWall thickness: up to 3 meters\n

Historical Significance

\nThe citadel represents the pinnacle of medieval Islamic military architecture and demonstrates the evolution of fortress design during the Crusader period.','Citadel of Aleppo','','publish','closed','closed','','citadel-of-aleppo','','','2025-03-28 11:40:19','2025-03-28 11:40:19','',0,'https://example.com/building/?p=308',0,'building','',0),(310,1,'2025-03-28 11:18:27','2025-03-28 11:18:27','

Overview

\nBuilt in 1233 CE in Baghdad, the Al-Mustansiriya Madrasah is one of the oldest examples of Islamic architectural educational institutions. It represents the sophistication of Abbasid architecture and academic tradition.\n

Architectural Features

\n
    \n
  • Four-iwan design
  • \n
  • Central courtyard
  • \n
  • Student cells
  • \n
  • Decorative brickwork
  • \n
  • Water clock system
  • \n
\n

Dimensions

\nBuilding length: 106 meters\nWidth: 48 meters\nCourtyard: 40 x 30 meters\n

Historical Significance

\nThe madrasah serves as a prime example of medieval Islamic educational architecture and the integration of academic and religious spaces.','Al-Mustansiriya Madrasah','','publish','closed','closed','','al-mustansiriya-madrasah','','','2025-03-28 11:40:30','2025-03-28 11:40:30','',0,'https://example.com/building/?p=309',0,'building','',0),(311,1,'2025-03-28 11:18:27','2025-03-28 11:18:27','

Overview

\nKrak des Chevaliers, built in the 12th century, is one of the best-preserved Crusader castles in the world. It represents the height of medieval military architecture, combining European and Middle Eastern defensive features.\n

Architectural Features

\n
    \n
  • Concentric castle design
  • \n
  • Multiple baileys
  • \n
  • Gothic elements in chapel
  • \n
  • Massive towers
  • \n
  • Elaborate defensive systems
  • \n
\n

Dimensions

\nCastle area: 3 hectares\nOuter wall length: 270 meters\nWall height: up to 30 meters\n

Historical Significance

\nThe castle exemplifies the synthesis of Western and Eastern military architecture during the Crusader period and stands as one of the most important preserved medieval castles.','Krak des Chevaliers','','publish','closed','closed','','krak-des-chevaliers','','','2025-03-28 11:40:38','2025-03-28 11:40:38','',0,'https://example.com/building/?p=310',0,'building','',0),(313,1,'2025-03-28 11:20:35','2025-03-28 11:20:35','

Overview

\nTodaiji Temple, constructed in 752 CE, is one of Japan\'s most historically significant temples. The Great Buddha Hall (Daibutsuden) remains the world\'s largest wooden building, despite being rebuilt in 1709 at two-thirds its original size.\n

Architectural Features

\n
    \n
  • Massive wooden structure
  • \n
  • Traditional bracketing system
  • \n
  • Central Buddha statue
  • \n
  • Curved roof lines
  • \n
  • Symmetrical design
  • \n
\n

Dimensions

\nHeight: 48.7 meters\nWidth: 57 meters\nDepth: 50.5 meters\n

Historical Significance

\nThe temple represents the pinnacle of ancient Japanese wooden architecture and served as the head temple of all provincial Buddhist temples.','Todaiji Temple','','publish','closed','closed','','todaiji-temple','','','2025-03-28 11:37:00','2025-03-28 11:37:00','',0,'https://example.com/building/?p=311',0,'building','',0),(314,1,'2025-03-28 11:20:35','2025-03-28 11:20:35','

Overview

\nThe Forbidden City, constructed between 1406 and 1420, represents the pinnacle of Chinese imperial architecture. The complex demonstrates perfect symmetry and hierarchy in traditional Chinese architecture.\n

Architectural Features

\n
    \n
  • Yellow glazed roof tiles
  • \n
  • Dougong bracket system
  • \n
  • Red walls
  • \n
  • Marble terraces
  • \n
  • Ceremonial gates
  • \n
\n

Dimensions

\nTotal area: 72 hectares\nBuildings: 980\nRooms: 8,707\n

Historical Significance

\nThe palace complex exemplifies traditional Chinese architecture\'s principles of symmetry, hierarchy, and cosmic symbolism.','Forbidden City Imperial Palace','','publish','closed','closed','','forbidden-city-imperial-palace','','','2025-03-28 11:37:51','2025-03-28 11:37:51','',0,'https://example.com/building/?p=312',0,'building','',0),(315,1,'2025-03-28 11:20:35','2025-03-28 11:20:35','

Overview

\nBuilt in 751 CE during the Silla Dynasty, Bulguksa Temple represents the golden age of Buddhist art in Korea. The temple complex showcases the unique characteristics of Korean Buddhist architecture.\n

Architectural Features

\n
    \n
  • Stone terraces
  • \n
  • Twin stone pagodas
  • \n
  • Wooden halls
  • \n
  • Stone bridges
  • \n
  • Decorative brackets
  • \n
\n

Dimensions

\nTemple grounds: 8 hectares\nMain hall width: 23 meters\nPagoda height: 10.4 meters\n

Historical Significance

\nThe temple exemplifies the adaptation of Buddhist architecture to Korean aesthetic and architectural traditions.','Bulguksa Temple','','publish','closed','closed','','bulguksa-temple','','','2025-03-28 11:37:58','2025-03-28 11:37:58','',0,'https://example.com/building/?p=313',0,'building','',0),(316,1,'2025-03-28 11:20:35','2025-03-28 11:20:35','

Overview

\nBuilt in 652 during the Tang Dynasty, the Giant Wild Goose Pagoda in Xi\'an is a masterpiece of Chinese Buddhist architecture. Originally five stories tall, it was later expanded to seven stories.\n

Architectural Features

\n
    \n
  • Brick construction
  • \n
  • Multi-tiered eaves
  • \n
  • Internal staircase
  • \n
  • Carved Buddha images
  • \n
  • Square base design
  • \n
\n

Dimensions

\nHeight: 64 meters\nBase width: 25 meters\nStories: 7\n

Historical Significance

\nThe pagoda served as a repository for Buddhist scriptures and marked the eastern spread of Buddhism along the Silk Road.','Giant Wild Goose Pagoda','','publish','closed','closed','','giant-wild-goose-pagoda','','','2025-03-28 11:38:08','2025-03-28 11:38:08','',0,'https://example.com/building/?p=314',0,'building','',0),(317,1,'2025-03-28 11:20:35','2025-03-28 11:20:35','

Overview

\nBuilt in 1053, the Phoenix Hall of Byodo-in Temple is one of the few remaining examples of Heian period architecture in Japan. Its unique wing-like design represents the tail feathers of a phoenix.\n

Architectural Features

\n
    \n
  • Central hall with flanking wings
  • \n
  • Curved roof lines
  • \n
  • Reflected pond design
  • \n
  • Gilded phoenix ornaments
  • \n
  • Interior Buddha statue
  • \n
\n

Dimensions

\nBuilding width: 24 meters\nCorridor length: 33 meters\nCentral hall height: 11 meters\n

Historical Significance

\nThe building represents the peak of Fujiwara period architecture and the adaptation of Buddhist temple design to Japanese aesthetic principles.','Byodo-in Phoenix Hall','','publish','closed','closed','','byodo-in-phoenix-hall','','','2025-03-28 11:38:25','2025-03-28 11:38:25','',0,'https://example.com/building/?p=315',0,'building','',0),(320,1,'2025-03-28 11:23:35','2025-03-28 11:23:35','','tim-mossholder-dqxr8A7Twwc-unsplash','Photo by Tim Mossholder on Unsplash','inherit','open','closed','','tim-mossholder-dqxr8a7twwc-unsplash','','','2025-03-28 11:24:02','2025-03-28 11:24:02','',0,'http://echoes.local/wp-content/uploads/2025/03/tim-mossholder-dqxr8A7Twwc-unsplash.jpg',0,'attachment','image/jpeg',0),(322,1,'2025-03-28 11:24:51','2025-03-28 11:24:51','','sebastian-tapia-huerta-5qba-p9ahTE-unsplash','Photo by Sebastian Tapia Huerta on Unsplash','inherit','open','closed','','sebastian-tapia-huerta-5qba-p9ahte-unsplash','','','2025-03-28 11:25:02','2025-03-28 11:25:02','',30,'http://echoes.local/wp-content/uploads/2025/03/sebastian-tapia-huerta-5qba-p9ahTE-unsplash.jpg',0,'attachment','image/jpeg',0),(323,1,'2025-03-28 11:25:04','2025-03-28 11:25:04','The Inca civilization\'s most remarkable architectural achievement was their sophisticated stone masonry technique. Without the use of mortar, they created structures of such precision that even today, it\'s impossible to insert a knife blade between the stones. This technique, known as ashlar masonry, involved fitting massive stone blocks together like a complex three-dimensional puzzle, with each stone cut to perfectly match its neighbors.\n\nThe engineering principles behind Inca stone construction were remarkably advanced. The stones were cut to fit together in an interlocking pattern that made buildings extremely stable and earthquake-resistant. The slight inward tilt of walls, trapezoidal doorways, and rounded corners further enhanced structural stability, while the careful placement of stones created natural drainage systems that have preserved these structures for centuries.\n\nPerhaps most impressive is that these architectural feats were accomplished without the use of metal tools, the wheel, or any written language to record their techniques. The Inca builders relied on an intricate system of knotted cords called quipus for measurements and used stone hammers and bronze tools to achieve their remarkable precision.','Inca Stone Masonry: Engineering Marvel of the Ancient Americas','','inherit','closed','closed','','30-revision-v1','','','2025-03-28 11:25:04','2025-03-28 11:25:04','',30,'http://echoes.local/?p=323',0,'revision','',0),(324,1,'2025-03-28 11:25:35','2025-03-28 11:25:35','Mayan pyramids represent some of the most sophisticated astronomical observatories ever created in the ancient world. These structures were not just ceremonial centers but precise calendrical tools that tracked celestial movements. The famous pyramid of Kukulcán at Chichen Itza, for example, is designed so that during the spring and autumn equinoxes, the play of sunlight and shadow creates the appearance of a serpent descending the northern stairway.\n\nThe architectural design of Mayan pyramids typically followed strict mathematical and astronomical principles. Many pyramids were built with exactly 365 steps, one for each day of the year, while their orientation and alignment were precisely calculated to mark important celestial events. The structures often featured multiple layers, with each new layer corresponding to different periods in Maya chronology.','Mayan Pyramids: Sacred Architecture of Time and Space','','inherit','closed','closed','','31-revision-v1','','','2025-03-28 11:25:35','2025-03-28 11:25:35','',31,'http://echoes.local/?p=324',0,'revision','',0),(325,1,'2025-03-28 11:25:48','2025-03-28 11:25:48','Aztec temple architecture embodied complex mathematical and cosmological principles that reflected their understanding of the universe. The famous Templo Mayor in Tenochtitlan, with its dual shrines and carefully planned proportions, represented the Aztec cosmos in architectural form. The temple\'s design incorporated specific numerical relationships that corresponded to their calendar system and religious beliefs.\n\nThe use of sacred geometry in Aztec architecture extended beyond religious structures to city planning. Tenochtitlan was laid out according to cosmic principles, with its main ceremonial precinct aligned to astronomical events. The careful orientation of buildings and plazas created sight lines that marked important celestial occurrences, while the proportions of structures often reflected important numbers in Aztec mythology.','Sacred Geometry in Aztec Temple Design','','inherit','closed','closed','','33-revision-v1','','','2025-03-28 11:25:48','2025-03-28 11:25:48','',33,'http://echoes.local/?p=325',0,'revision','',0),(326,1,'2025-03-28 11:26:24','2025-03-28 11:26:24','The agricultural terraces of the Inca Empire represent one of the most impressive feats of ancient engineering and architectural innovation. These andenes (terraced fields) transformed steep mountain slopes into fertile farmland, creating microclimates that could sustain crops at altitudes where agriculture would otherwise be impossible. The terraces at sites like Moray served as agricultural laboratories where the Inca could study the effects of different growing conditions.\n\nThe construction of these terraces involved sophisticated engineering principles. Each terrace level was built with layers of stone, gravel, and soil that provided excellent drainage and prevented erosion. The stone retaining walls were slightly inclined inward to resist the pressure of the earth behind them, while sophisticated drainage systems helped prevent water accumulation that could destabilize the structures.\n\nBeyond their practical function, these terraces created stunning visual effects, transforming entire mountainsides into giant green staircases that followed the natural contours of the landscape. Sites like Machu Picchu demonstrate how the Inca seamlessly integrated agricultural functionality with aesthetic and ceremonial considerations.','Agricultural Terraces of the Inca Empire','','inherit','closed','closed','','32-revision-v1','','','2025-03-28 11:26:24','2025-03-28 11:26:24','',32,'http://echoes.local/?p=326',0,'revision','',0),(327,1,'2025-03-28 11:27:29','2025-03-28 11:27:29','','alim-twul1x77QEo-unsplash','Photo by Alim on Unsplash','inherit','open','closed','','alim-twul1x77qeo-unsplash','','','2025-03-28 11:27:33','2025-03-28 11:27:33','',19,'http://echoes.local/wp-content/uploads/2025/03/alim-twul1x77QEo-unsplash.jpg',0,'attachment','image/jpeg',0),(328,1,'2025-03-28 11:27:34','2025-03-28 11:27:34','Islamic geometric patterns represent one of the most distinctive features of Middle Eastern architecture, combining mathematical precision with artistic beauty. These intricate designs, which adorn everything from mosque walls to palace ceilings, reflect the Islamic appreciation of unity and order in art. The patterns are based on repeated geometric shapes, creating infinite patterns that symbolize the infinite nature of Allah.\n\nThe complexity of these patterns stems from the mathematical principles of symmetry and proportion. Architects and artisans used simple tools - compass and ruler - to create designs of astounding complexity. The patterns typically begin with a basic geometric shape, such as a circle, which is then repeated, interlaced, and expanded to create elaborate star patterns and complex polygonal compositions.\n\nThese geometric patterns serve both decorative and spiritual purposes. In the absence of figurative art in religious spaces, these patterns became a primary means of architectural decoration, creating spaces of contemplation and beauty that reflect the mathematical order of the universe.','The Art of Islamic Geometric Patterns','','inherit','closed','closed','','19-autosave-v1','','','2025-03-28 11:27:34','2025-03-28 11:27:34','',19,'http://echoes.local/?p=328',0,'revision','',0),(329,1,'2025-03-28 11:27:35','2025-03-28 11:27:35','Islamic geometric patterns represent one of the most distinctive features of Middle Eastern architecture, combining mathematical precision with artistic beauty. These intricate designs, which adorn everything from mosque walls to palace ceilings, reflect the Islamic appreciation of unity and order in art. The patterns are based on repeated geometric shapes, creating infinite patterns that symbolize the infinite nature of Allah.\n\nThe complexity of these patterns stems from the mathematical principles of symmetry and proportion. Architects and artisans used simple tools - compass and ruler - to create designs of astounding complexity. The patterns typically begin with a basic geometric shape, such as a circle, which is then repeated, interlaced, and expanded to create elaborate star patterns and complex polygonal compositions.\n\nThese geometric patterns serve both decorative and spiritual purposes. In the absence of figurative art in religious spaces, these patterns became a primary means of architectural decoration, creating spaces of contemplation and beauty that reflect the mathematical order of the universe.','The Art of Islamic Geometric Patterns','','inherit','closed','closed','','19-revision-v1','','','2025-03-28 11:27:35','2025-03-28 11:27:35','',19,'http://echoes.local/?p=329',0,'revision','',0),(330,1,'2025-03-28 11:28:12','2025-03-28 11:28:12','','junhan-foong-ERLAcTp-8MQ-unsplash','Photo by Junhan Foong on Unsplash','inherit','open','closed','','junhan-foong-erlactp-8mq-unsplash','','','2025-03-28 11:28:15','2025-03-28 11:28:15','',0,'http://echoes.local/wp-content/uploads/2025/03/junhan-foong-ERLAcTp-8MQ-unsplash.jpg',0,'attachment','image/jpeg',0),(332,1,'2025-03-28 11:28:39','2025-03-28 11:28:39','Persian gardens and palaces represent a unique architectural tradition that has influenced design throughout the Middle East and beyond. The concept of the chahar bagh (four-garden) layout, with its quadrilateral design divided by waterways and walkways, creates an earthly paradise that reflects the Islamic description of heaven. These gardens are not merely decorative but represent a sophisticated understanding of hydraulics, climatology, and spatial design.\n\nThe palaces integrated within these gardens showcase the refinement of Persian architecture, with their intricate tile work, mirror mosaics, and carved stucco decorations. The interplay between indoor and outdoor spaces creates a seamless flow between architecture and nature, while clever design features like wind towers (badgirs) provide natural cooling in the harsh desert climate.\n\nFamous examples like the Golestan Palace complex in Tehran demonstrate how these architectural principles evolved over time, incorporating new influences while maintaining traditional Persian design elements. The integration of water features, shade, and carefully planned sight lines creates spaces of extraordinary beauty and comfort.','Persian Gardens and Palace Architecture','','inherit','closed','closed','','21-autosave-v1','','','2025-03-28 11:28:39','2025-03-28 11:28:39','',21,'http://echoes.local/?p=332',0,'revision','',0),(333,1,'2025-03-28 11:28:58','2025-03-28 11:28:58','','let-s-see-persia-c8dFTAYI0-8-unsplash','Photo by let\'s see persia on Unsplash','inherit','open','closed','','let-s-see-persia-c8dftayi0-8-unsplash','','','2025-03-28 11:29:03','2025-03-28 11:29:03','',21,'http://echoes.local/wp-content/uploads/2025/03/let-s-see-persia-c8dFTAYI0-8-unsplash.jpg',0,'attachment','image/jpeg',0),(334,1,'2025-03-28 11:29:05','2025-03-28 11:29:05','Persian gardens and palaces represent a unique architectural tradition that has influenced design throughout the Middle East and beyond. The concept of the chahar bagh (four-garden) layout, with its quadrilateral design divided by waterways and walkways, creates an earthly paradise that reflects the Islamic description of heaven. These gardens are not merely decorative but represent a sophisticated understanding of hydraulics, climatology, and spatial design.\n\nThe palaces integrated within these gardens showcase the refinement of Persian architecture, with their intricate tile work, mirror mosaics, and carved stucco decorations. The interplay between indoor and outdoor spaces creates a seamless flow between architecture and nature, while clever design features like wind towers (badgirs) provide natural cooling in the harsh desert climate.\n\nFamous examples like the Golestan Palace complex in Tehran demonstrate how these architectural principles evolved over time, incorporating new influences while maintaining traditional Persian design elements. The integration of water features, shade, and carefully planned sight lines creates spaces of extraordinary beauty and comfort.','Persian Gardens and Palace Architecture','','inherit','closed','closed','','21-revision-v1','','','2025-03-28 11:29:05','2025-03-28 11:29:05','',21,'http://echoes.local/?p=334',0,'revision','',0),(335,1,'2025-03-28 11:29:24','2025-03-28 11:29:24','Arabic calligraphy stands as one of the most distinctive features of Middle Eastern architecture, transforming buildings into three-dimensional manuscripts. This architectural calligraphy goes beyond mere decoration, incorporating Quranic verses, poetry, and historical inscriptions that give buildings both spiritual and cultural significance. The integration of script into architectural design reached its peak during the Islamic Golden Age, creating a unique fusion of text and architecture.\n\nThe evolution of architectural calligraphy reflects the development of various Arabic scripts, from the angular Kufic to the flowing Thuluth style. Artisans developed innovative techniques to incorporate these scripts into different materials - carved in stone, molded in stucco, or crafted in tilework. The placement of calligraphy often follows careful architectural planning, with specific texts chosen for particular locations within buildings.','The Evolution of Arabic Calligraphy in Architecture','','inherit','closed','closed','','22-revision-v1','','','2025-03-28 11:29:24','2025-03-28 11:29:24','',22,'http://echoes.local/?p=335',0,'revision','',0),(336,1,'2025-03-28 11:29:36','2025-03-28 11:29:36','Arabesque patterns represent one of the most sophisticated developments in architectural decoration, combining floral motifs with geometric patterns to create intricate, endless designs. These flowing, interlaced patterns are characterized by a continuous stem system that produces a variety of abstract flowers, leaves, and tendrils, creating a rhythmic pattern that appears to extend infinitely in all directions.\n\nThe development of arabesque patterns reflects the Islamic artistic tradition\'s emphasis on non-representational art. These patterns serve multiple purposes: they create visual interest, demonstrate mathematical and artistic sophistication, and reflect theological concepts about the infinite nature of divine creation. The complexity of arabesque designs often increases around focal points such as mihrab niches or entrance portals.\n\nModern Middle Eastern architecture continues to incorporate arabesque patterns, often reinterpreting traditional designs through contemporary materials and techniques. This enduring influence demonstrates how historical decorative elements can be adapted for contemporary architectural expression while maintaining their cultural significance.','The Art of Arabesque in Middle Eastern Architecture','','inherit','closed','closed','','23-revision-v1','','','2025-03-28 11:29:36','2025-03-28 11:29:36','',23,'http://echoes.local/?p=336',0,'revision','',0),(337,1,'2025-03-28 11:30:36','2025-03-28 11:30:36','','clay-banks-8pFh9JUcQOY-unsplash','Photo by Clay Banks on Unsplash','inherit','open','closed','','clay-banks-8pfh9jucqoy-unsplash','','','2025-03-28 11:30:39','2025-03-28 11:30:39','',13,'http://echoes.local/wp-content/uploads/2025/03/clay-banks-8pFh9JUcQOY-unsplash.jpg',0,'attachment','image/jpeg',0),(338,1,'2025-03-28 11:30:41','2025-03-28 11:30:41','Chinese pagodas represent some of the most iconic structures in Oriental architecture, serving as both religious monuments and symbols of cultural identity. These multi-tiered towers, evolving from Indian stupas, have become distinctive features of the Chinese landscape. Each level of a pagoda typically features characteristic upturned eaves, creating a visual rhythm that draws the eye skyward.\n\nThe engineering behind these structures is remarkably sophisticated, incorporating innovative techniques for earthquake resistance and weight distribution. The use of a central pillar, known as the \"heart pillar,\" combined with sophisticated bracketing systems, allows these towers to maintain their stability despite their impressive heights. Many ancient pagodas have survived centuries of natural disasters, testament to their ingenious construction methods.\n\nBeyond their structural brilliance, pagodas also serve as repositories of Buddhist relics and sacred texts, making them important centers of spiritual life. Their placement often follows precise feng shui principles, ensuring harmony with the surrounding landscape and optimal energy flow.','The Ancient Art of Chinese Pagodas','','inherit','closed','closed','','13-revision-v1','','','2025-03-28 11:30:41','2025-03-28 11:30:41','',13,'http://echoes.local/?p=338',0,'revision','',0),(339,1,'2025-03-28 11:31:13','2025-03-28 11:31:13','','pepe-nero-JsSM2T9iPRU-unsplash','Photo by pepe nero on Unsplash','inherit','open','closed','','pepe-nero-jssm2t9ipru-unsplash','','','2025-03-28 11:31:18','2025-03-28 11:31:18','',14,'http://echoes.local/wp-content/uploads/2025/03/pepe-nero-JsSM2T9iPRU-unsplash.jpg',0,'attachment','image/jpeg',0),(340,1,'2025-03-28 11:31:20','2025-03-28 11:31:20','Japanese Zen gardens, or karesansui, represent the epitome of minimalist architectural design in Oriental culture. These dry landscape gardens use carefully arranged rocks, gravel, and occasional plant elements to create spaces for meditation and contemplation. The architectural principles behind these gardens emphasize void spaces as much as physical elements, creating a perfect balance between presence and absence.\n\nThe design of Zen gardens follows strict principles that have been refined over centuries. The placement of each element is carefully considered, with rocks and sand patterns often representing natural landscapes in abstract forms. The surrounding architecture, including verandas and viewing pavilions, is integral to the garden experience, creating carefully framed views and meditation spaces.','Japanese Zen Gardens: Architecture of Tranquility','','inherit','closed','closed','','14-revision-v1','','','2025-03-28 11:31:20','2025-03-28 11:31:20','',14,'http://echoes.local/?p=340',0,'revision','',0),(341,1,'2025-03-28 11:31:33','2025-03-28 11:31:33','The Forbidden City stands as the ultimate expression of Chinese imperial architecture, embodying centuries of architectural wisdom and symbolic design. This vast palace complex demonstrates the sophisticated planning principles of traditional Chinese architecture, with its strict axiality, hierarchical spaces, and profound symbolic meanings embedded in every architectural detail.\n\nThe architectural features of the Forbidden City are rich with symbolism: the yellow roof tiles, exclusive to imperial buildings, the number of studs on doors indicating the rank of the building\'s occupant, and the intricate bracketing systems known as dougong that support the massive roofs without nails. The entire complex was designed according to cosmic principles, reflecting the emperor\'s role as the Son of Heaven.\n\nThe palace\'s defensive architecture is equally impressive, featuring high walls, moats, and strategic gates that created multiple layers of security. Yet within these defensive walls lie some of the most refined examples of Chinese architectural aesthetics, from delicate gardens to grand ceremonial halls.','The Forbidden City: Marvel of Imperial Chinese Architecture','','inherit','closed','closed','','15-revision-v1','','','2025-03-28 11:31:33','2025-03-28 11:31:33','',15,'http://echoes.local/?p=341',0,'revision','',0),(342,1,'2025-03-28 11:32:07','2025-03-28 11:32:07','','priscilla-fraire-_1LvAexVWa8-unsplash','Photo by Priscilla Fraire on Unsplash','inherit','open','closed','','priscilla-fraire-_1lvaexvwa8-unsplash','','','2025-03-28 11:32:11','2025-03-28 11:32:11','',7,'http://echoes.local/wp-content/uploads/2025/03/priscilla-fraire-_1LvAexVWa8-unsplash.jpg',0,'attachment','image/jpeg',0),(343,1,'2025-03-28 11:32:12','2025-03-28 11:32:12','The Gothic cathedrals of France stand as testament to medieval architectural brilliance and religious devotion. These magnificent structures, built between the 12th and 16th centuries, revolutionized architectural design with their innovative features and soaring heights. The implementation of pointed arches, ribbed vaults, and flying buttresses allowed these buildings to reach unprecedented heights while featuring walls of stained glass that seemed to defy gravity.\n\nNotre-Dame de Paris, despite recent challenges, remains one of the finest examples of French Gothic architecture. Its harmonious proportions, twin towers, and spectacular rose windows have inspired architects and artists for centuries. The cathedral\'s flying buttresses, among the first of their kind, demonstrate the innovative engineering solutions that made Gothic architecture possible.','The Magnificent Gothic Cathedrals of France','','inherit','closed','closed','','7-revision-v1','','','2025-03-28 11:32:12','2025-03-28 11:32:12','',7,'http://echoes.local/?p=343',0,'revision','',0),(344,1,'2025-03-28 11:33:02','2025-03-28 11:33:02','','alin-gavriliuc-sAkUB5aCRcs-unsplash','Photo by Alin Gavriliuc on Unsplash','inherit','open','closed','','alin-gavriliuc-sakub5acrcs-unsplash','','','2025-03-28 11:33:05','2025-03-28 11:33:05','',16,'http://echoes.local/wp-content/uploads/2025/03/alin-gavriliuc-sAkUB5aCRcs-unsplash.jpg',0,'attachment','image/jpeg',0),(345,1,'2025-03-28 11:33:07','2025-03-28 11:33:07','Japanese wooden architecture represents a unique tradition that has evolved over millennia, characterized by sophisticated joinery techniques that eliminate the need for nails or screws. This architectural tradition emphasizes the natural beauty of wood and creates structures that can be dismantled and rebuilt, contributing to their longevity and sustainability.\n\nThe most remarkable aspect of Japanese wooden architecture is its ability to create large, open spaces using post-and-beam construction combined with complex bracketing systems. Temples like Hōryū-ji, the world\'s oldest surviving wooden structure, demonstrate how these techniques have created buildings that have endured for over 1,300 years.\n\nThe aesthetic principles of Japanese wooden architecture emphasize the importance of the grain and natural patterns in the wood, often leaving it unfinished or minimally treated to maintain its natural beauty. This approach reflects the broader Japanese aesthetic principle of finding beauty in simplicity and natural materials.','Traditional Japanese Wood Architecture','','inherit','closed','closed','','16-revision-v1','','','2025-03-28 11:33:07','2025-03-28 11:33:07','',16,'http://echoes.local/?p=345',0,'revision','',0),(346,1,'2025-03-28 11:33:37','2025-03-28 11:33:37','','steve-douglas-JjEbmnY1e0w-unsplash','Photo by Steve Douglas on Unsplash','inherit','open','closed','','steve-douglas-jjebmny1e0w-unsplash','','','2025-03-28 11:33:41','2025-03-28 11:33:41','',8,'http://echoes.local/wp-content/uploads/2025/03/steve-douglas-JjEbmnY1e0w-unsplash.jpg',0,'attachment','image/jpeg',0),(347,1,'2025-03-28 11:33:42','2025-03-28 11:33:42','Medieval castles were masterpieces of defensive architecture, designed to protect their inhabitants from siege and assault. The evolution of castle design reflects the ongoing battle between defensive innovations and offensive warfare techniques. From simple wooden structures on hills, castles evolved into sophisticated stone fortresses with multiple layers of defense.\n\nThe key elements of castle defense included high stone walls, moats, drawbridges, and strategic placement on elevated ground. Concentric castles, with their multiple rings of walls, represented the pinnacle of medieval defensive architecture. These formidable structures often featured arrow slits, murder holes, and machicolations, all designed to give defenders the advantage over attacking forces.\n\nThe great keeps of these castles served not only as last-resort defensive positions but also as symbols of power and authority. Their thick walls and limited access points made them nearly impregnable when properly defended, while their impressive height served as a constant reminder of the lord\'s authority over the surrounding lands.','Medieval Castle Defense Systems','','inherit','closed','closed','','8-revision-v1','','','2025-03-28 11:33:42','2025-03-28 11:33:42','',8,'http://echoes.local/?p=347',0,'revision','',0),(348,1,'2025-03-28 11:33:55','2025-03-28 11:33:55','Feng Shui principles have profoundly influenced Oriental architecture for thousands of years, shaping everything from city planning to interior design. This ancient practice of harmonizing people with their surrounding environment has created architectural guidelines that promote balance, prosperity, and well-being. The careful consideration of natural elements, cardinal directions, and energy flow has resulted in distinctive architectural features throughout East Asia.\n\nIn traditional Oriental architecture, Feng Shui principles determine crucial aspects such as building orientation, door placement, and room layout. The concept of qi (life force) flowing through buildings has led to specific architectural features like curved pathways in gardens, strategic placement of water features, and the deliberate positioning of structural elements to promote positive energy flow.\n\nModern architects continue to incorporate these ancient principles into contemporary designs, recognizing their value in creating harmonious living and working spaces. The enduring influence of Feng Shui demonstrates how traditional wisdom can inform modern architectural practices.','Feng Shui in Oriental Architecture','','inherit','closed','closed','','17-revision-v1','','','2025-03-28 11:33:55','2025-03-28 11:33:55','',17,'http://echoes.local/?p=348',0,'revision','',0),(349,1,'2025-03-28 11:34:26','2025-03-28 11:34:26','','mario-la-pergola-dSrEUAtF3kU-unsplash','Photo by Mario La Pergola on Unsplash','inherit','open','closed','','mario-la-pergola-dsreuatf3ku-unsplash','','','2025-03-28 11:34:29','2025-03-28 11:34:29','',9,'http://echoes.local/wp-content/uploads/2025/03/mario-la-pergola-dSrEUAtF3kU-unsplash.jpg',0,'attachment','image/jpeg',0),(350,1,'2025-03-28 11:34:30','2025-03-28 11:34:30','\n \"Romanesque\n \n

Romanesque architecture, predominant in medieval Europe from the 6th to the 11th century, marked a significant evolution in building design. Characterized by its massive walls, round arches, and barrel vaults, this architectural style laid the foundation for the later Gothic period. The term \"Romanesque\" reflects the architecture\'s similarity to Roman designs, particularly in the use of round arches and vaulted ceilings.

\n\n

One of the most distinctive features of Romanesque architecture is the rounded arch, used for both structural and decorative purposes. These arches appeared in doorways, windows, and arcade sections, creating the characteristic appearance we associate with medieval churches and monasteries. The thick walls and small windows of Romanesque buildings were necessary to support the heavy stone vaults above.

\n ','Romanesque Architecture: The Round Arch Revolution','','inherit','closed','closed','','9-revision-v1','','','2025-03-28 11:34:30','2025-03-28 11:34:30','',9,'http://echoes.local/?p=350',0,'revision','',0),(352,1,'2025-03-28 11:35:28','2025-03-28 11:35:28','','jf-martin-kZjBucSSj2s-unsplash','Photo by JF Martin on Unsplash','inherit','open','closed','','jf-martin-kzjbucssj2s-unsplash','','','2025-03-28 11:35:32','2025-03-28 11:35:32','',5,'http://echoes.local/wp-content/uploads/2025/03/jf-martin-kZjBucSSj2s-unsplash.jpg',0,'attachment','image/jpeg',0),(353,1,'2025-03-28 11:35:33','2025-03-28 11:35:33','Stained glass windows were more than just decorative elements in medieval architecture; they were powerful tools for storytelling and religious education. These magnificent works of art combined innovative glass-making techniques with detailed artistic expression to create luminous scenes that transformed interior spaces. The way sunlight filtered through these colored windows was often described as \"divine light\" by medieval observers.\n\nThe creation of medieval stained glass was a complex process that required significant skill and knowledge. Craftsmen would cut colored glass into specific shapes, paint details onto the glass pieces, and join them together with lead cames. The most impressive examples of medieval stained glass can be found in Gothic cathedrals, where large rose windows and towering lancet windows create breathtaking displays of colored light.\n\nBeyond their artistic beauty, stained glass windows served as \"books of light\" for the largely illiterate medieval population, depicting biblical stories, saints\' lives, and moral lessons through their vivid imagery. The technical and artistic achievement of medieval stained glass makers continues to inspire awe and admiration today.','Stained Glass: The Medieval Art of Light','','inherit','closed','closed','','5-revision-v1','','','2025-03-28 11:35:33','2025-03-28 11:35:33','',5,'http://echoes.local/?p=353',0,'revision','',0),(355,1,'2025-03-28 11:35:49','0000-00-00 00:00:00','','Auto Draft','','auto-draft','open','open','','','','','2025-03-28 11:35:49','0000-00-00 00:00:00','',0,'http://echoes.local/?p=355',0,'post','',0),(356,1,'2025-03-28 11:40:15','2025-03-28 11:40:15','','dabbas-j0OhftYAXR4-unsplash','Photo by Dabbas on Unsplash','inherit','open','closed','','dabbas-j0ohftyaxr4-unsplash','','','2025-03-28 11:40:18','2025-03-28 11:40:18','',309,'http://echoes.local/wp-content/uploads/2025/03/dabbas-j0OhftYAXR4-unsplash.jpg',0,'attachment','image/jpeg',0); +/*!40000 ALTER TABLE `wp_posts` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_term_relationships` +-- + +DROP TABLE IF EXISTS `wp_term_relationships`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_term_relationships` ( + `object_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `term_order` int(11) NOT NULL DEFAULT 0, + PRIMARY KEY (`object_id`,`term_taxonomy_id`), + KEY `term_taxonomy_id` (`term_taxonomy_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_term_relationships` +-- + +LOCK TABLES `wp_term_relationships` WRITE; +/*!40000 ALTER TABLE `wp_term_relationships` DISABLE KEYS */; +INSERT INTO `wp_term_relationships` VALUES (5,2,0),(5,5,0),(5,10,0),(7,2,0),(7,5,0),(7,6,0),(7,10,0),(8,4,0),(8,8,0),(9,3,0),(9,5,0),(9,7,0),(9,8,0),(13,11,0),(13,13,0),(13,15,0),(13,19,0),(14,12,0),(14,16,0),(15,11,0),(15,14,0),(15,18,0),(16,12,0),(16,13,0),(16,17,0),(17,11,0),(17,19,0),(19,20,0),(19,23,0),(21,14,0),(21,22,0),(22,20,0),(22,24,0),(23,20,0),(23,23,0),(23,26,0),(25,28,0),(30,29,0),(30,34,0),(31,30,0),(31,32,0),(31,33,0),(31,36,0),(32,29,0),(32,34,0),(32,35,0),(33,31,0),(33,32,0),(33,36,0),(33,37,0),(301,40,0),(301,46,0),(302,42,0),(302,45,0),(303,38,0),(303,46,0),(304,39,0),(304,46,0),(305,40,0),(305,46,0),(307,38,0),(307,44,0),(308,38,0),(308,46,0),(309,42,0),(309,48,0),(310,38,0),(310,46,0),(311,39,0),(311,48,0),(313,38,0),(313,44,0),(314,38,0),(314,47,0),(315,38,0),(315,44,0),(316,38,0),(316,44,0),(317,38,0),(317,46,0); +/*!40000 ALTER TABLE `wp_term_relationships` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_term_taxonomy` +-- + +DROP TABLE IF EXISTS `wp_term_taxonomy`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_term_taxonomy` ( + `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `term_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `taxonomy` varchar(32) NOT NULL DEFAULT '', + `description` longtext NOT NULL, + `parent` bigint(20) unsigned NOT NULL DEFAULT 0, + `count` bigint(20) NOT NULL DEFAULT 0, + PRIMARY KEY (`term_taxonomy_id`), + UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), + KEY `taxonomy` (`taxonomy`) +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_term_taxonomy` +-- + +LOCK TABLES `wp_term_taxonomy` WRITE; +/*!40000 ALTER TABLE `wp_term_taxonomy` DISABLE KEYS */; +INSERT INTO `wp_term_taxonomy` VALUES (1,1,'category','',0,0),(2,2,'category','',0,2),(3,3,'category','',0,1),(4,4,'category','',0,1),(5,5,'category','',0,3),(6,6,'post_tag','',0,1),(7,7,'post_tag','',0,1),(8,8,'post_tag','',0,2),(9,9,'post_tag','',0,0),(10,10,'post_tag','',0,2),(11,11,'category','',0,3),(12,12,'category','',0,2),(13,13,'category','',0,2),(14,14,'category','',0,2),(15,15,'post_tag','',0,1),(16,16,'post_tag','',0,1),(17,17,'post_tag','',0,1),(18,18,'post_tag','',0,1),(19,19,'post_tag','',0,2),(20,20,'category','',0,3),(21,21,'category','',0,0),(22,22,'category','',0,1),(23,23,'post_tag','',0,2),(24,24,'post_tag','',0,1),(25,25,'post_tag','',0,0),(26,26,'post_tag','',0,1),(27,27,'post_tag','',0,0),(28,28,'wp_theme','',0,1),(29,29,'category','',0,2),(30,30,'category','',0,1),(31,31,'category','',0,1),(32,32,'category','',0,2),(33,33,'post_tag','',0,1),(34,34,'post_tag','',0,2),(35,35,'post_tag','',0,1),(36,36,'post_tag','',0,2),(37,37,'post_tag','',0,1),(38,38,'style','Characterized by round arches, thick walls, sturdy columns, large towers, and decorative arcading. Developed between 800-1200 CE.',0,9),(39,39,'style','Features pointed arches, ribbed vaults, and flying buttresses. Emerged in 12th century France.',0,2),(40,40,'style','Characterized by height, large windows, ornate decoration, and complex architectural features. Peaked in 13th century.',0,2),(41,41,'style','Features elaborate tracery, ornate decoration, and flame-like window patterns. Late 14th-15th century.',0,0),(42,42,'style','Anglo-Norman architecture characterized by massive proportions, round arches, and decorative geometric patterns.',0,2),(43,43,'style','English Gothic style featuring vertical lines, large windows, and fan vaulting. Late 14th-16th century.',0,0),(44,44,'period','Also known as the Dark Ages, spanning from 5th to 10th century CE.',0,4),(45,45,'period','From late 10th to early 12th century, marked by the revival of stone architecture.',0,1),(46,46,'period','From 11th to 13th century, characterized by Gothic architecture and cathedral building.',0,7),(47,47,'period','14th and 15th centuries, featuring elaborate Gothic styles and secular architecture.',0,1),(48,48,'period','11th to 13th century, featuring military architecture and fortifications influenced by European and Middle Eastern styles.',0,2),(49,49,'period','Late 15th to early 16th century, showing the gradual shift from medieval to Renaissance styles.',0,0); +/*!40000 ALTER TABLE `wp_term_taxonomy` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_termmeta` +-- + +DROP TABLE IF EXISTS `wp_termmeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_termmeta` ( + `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `term_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext DEFAULT NULL, + PRIMARY KEY (`meta_id`), + KEY `term_id` (`term_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_termmeta` +-- + +LOCK TABLES `wp_termmeta` WRITE; +/*!40000 ALTER TABLE `wp_termmeta` DISABLE KEYS */; +/*!40000 ALTER TABLE `wp_termmeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_terms` +-- + +DROP TABLE IF EXISTS `wp_terms`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_terms` ( + `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL DEFAULT '', + `slug` varchar(200) NOT NULL DEFAULT '', + `term_group` bigint(20) NOT NULL DEFAULT 0, + PRIMARY KEY (`term_id`), + KEY `slug` (`slug`(191)), + KEY `name` (`name`(191)) +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_terms` +-- + +LOCK TABLES `wp_terms` WRITE; +/*!40000 ALTER TABLE `wp_terms` DISABLE KEYS */; +INSERT INTO `wp_terms` VALUES (1,'Uncategorized','uncategorized',0),(2,'Gothic Architecture','gothic-architecture',0),(3,'Romanesque','romanesque',0),(4,'Castles','castles',0),(5,'Religious Buildings','religious-buildings',0),(6,'Buttresses','buttresses',0),(7,'Arches','arches',0),(8,'Stonework','stonework',0),(9,'Vaulted Ceilings','vaulted-ceilings',0),(10,'Stained Glass','stained-glass',0),(11,'Chinese Architecture','chinese-architecture',0),(12,'Japanese Architecture','japanese-architecture',0),(13,'Temples','temples',0),(14,'Palaces','palaces',0),(15,'Pagodas','pagodas',0),(16,'Zen Gardens','zen-gardens',0),(17,'Wooden Architecture','wooden-architecture',0),(18,'Imperial Design','imperial-design',0),(19,'Feng Shui','feng-shui',0),(20,'Islamic Architecture','islamic-architecture',0),(21,'Mosques','mosques',0),(22,'Persian Architecture','persian-architecture',0),(23,'Geometric Patterns','geometric-patterns',0),(24,'Calligraphy','calligraphy',0),(25,'Domes','domes',0),(26,'Arabesques','arabesques',0),(27,'Minarets','minarets',0),(28,'twentytwentyfive','twentytwentyfive',0),(29,'Inca Architecture','inca-architecture',0),(30,'Mayan Architecture','mayan-architecture',0),(31,'Aztec Architecture','aztec-architecture',0),(32,'Ceremonial Centers','ceremonial-centers',0),(33,'Pyramids','pyramids',0),(34,'Stone Masonry','stone-masonry',0),(35,'Terraces','terraces',0),(36,'Astronomical Alignment','astronomical-alignment',0),(37,'Sacred Geometry','sacred-geometry',0),(38,'Romanesque','romanesque',0),(39,'Early Gothic','early-gothic',0),(40,'High Gothic','high-gothic',0),(41,'Flamboyant Gothic','flamboyant-gothic',0),(42,'Norman','norman',0),(43,'Perpendicular Gothic','perpendicular-gothic',0),(44,'Early Middle Ages','early-middle-ages',0),(45,'Romanesque Period','romanesque-period',0),(46,'High Middle Ages','high-middle-ages',0),(47,'Late Middle Ages','late-middle-ages',0),(48,'Crusader Period','crusader-period',0),(49,'Medieval-Renaissance Transition','medieval-renaissance-transition',0); +/*!40000 ALTER TABLE `wp_terms` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_usermeta` +-- + +DROP TABLE IF EXISTS `wp_usermeta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_usermeta` ( + `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_id` bigint(20) unsigned NOT NULL DEFAULT 0, + `meta_key` varchar(255) DEFAULT NULL, + `meta_value` longtext DEFAULT NULL, + PRIMARY KEY (`umeta_id`), + KEY `user_id` (`user_id`), + KEY `meta_key` (`meta_key`(191)) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_usermeta` +-- + +LOCK TABLES `wp_usermeta` WRITE; +/*!40000 ALTER TABLE `wp_usermeta` DISABLE KEYS */; +INSERT INTO `wp_usermeta` VALUES (1,1,'nickname','admin'),(2,1,'first_name',''),(3,1,'last_name',''),(4,1,'description',''),(5,1,'rich_editing','true'),(6,1,'syntax_highlighting','true'),(7,1,'comment_shortcuts','false'),(8,1,'admin_color','fresh'),(9,1,'use_ssl','0'),(10,1,'show_admin_bar_front','true'),(11,1,'locale',''),(12,1,'wp_capabilities','a:1:{s:13:\"administrator\";b:1;}'),(13,1,'wp_user_level','10'),(14,1,'dismissed_wp_pointers',''),(15,1,'show_welcome_panel','0'),(16,1,'session_tokens','a:4:{s:64:\"d61e5158a6ac77cabf8f276f543fca267b556b9e2e61dd30cc7e3f5609e6d09e\";a:4:{s:10:\"expiration\";i:1744368085;s:2:\"ip\";s:9:\"127.0.0.1\";s:2:\"ua\";s:117:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\";s:5:\"login\";i:1743158485;}s:64:\"42e0fd425fb091fc4deb9b9bcee940645d89b6484908b086a6737132f26a2a89\";a:4:{s:10:\"expiration\";i:1743336910;s:2:\"ip\";s:12:\"192.168.65.1\";s:2:\"ua\";s:117:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\";s:5:\"login\";i:1743164110;}s:64:\"58002042dc8c4e227ba60e6c2e39a3816d3ae4297ee34620805fb39296e588a8\";a:4:{s:10:\"expiration\";i:1743337517;s:2:\"ip\";s:12:\"192.168.65.1\";s:2:\"ua\";s:117:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\";s:5:\"login\";i:1743164717;}s:64:\"3bf41e87406b04eb92b39f774abfa35df07bf04800e020489e06db8f2e037d9a\";a:4:{s:10:\"expiration\";i:1743345611;s:2:\"ip\";s:12:\"192.168.65.1\";s:2:\"ua\";s:117:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36\";s:5:\"login\";i:1743172811;}}'),(17,1,'wp_dashboard_quick_press_last_post_id','4'),(18,1,'closedpostboxes_dashboard','a:0:{}'),(19,1,'metaboxhidden_dashboard','a:0:{}'),(20,1,'meta-box-order_dashboard','a:4:{s:6:\"normal\";s:41:\"dashboard_site_health,dashboard_right_now\";s:4:\"side\";s:21:\"dashboard_quick_press\";s:7:\"column3\";s:18:\"dashboard_activity\";s:7:\"column4\";s:17:\"dashboard_primary\";}'),(21,1,'manageedit-acf-post-typecolumnshidden','a:1:{i:0;s:7:\"acf-key\";}'),(22,1,'acf_user_settings','a:2:{s:19:\"post-type-first-run\";b:1;s:20:\"taxonomies-first-run\";b:1;}'),(23,1,'closedpostboxes_acf-post-type','a:0:{}'),(24,1,'metaboxhidden_acf-post-type','a:1:{i:0;s:7:\"slugdiv\";}'),(25,1,'manageedit-acf-taxonomycolumnshidden','a:1:{i:0;s:7:\"acf-key\";}'),(26,1,'closedpostboxes_acf-taxonomy','a:0:{}'),(27,1,'metaboxhidden_acf-taxonomy','a:1:{i:0;s:7:\"slugdiv\";}'),(28,1,'wp_user-settings','libraryContent=browse'),(29,1,'wp_user-settings-time','1743161043'),(30,1,'community-events-location','a:1:{s:2:\"ip\";s:12:\"192.168.65.0\";}'); +/*!40000 ALTER TABLE `wp_usermeta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wp_users` +-- + +DROP TABLE IF EXISTS `wp_users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wp_users` ( + `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_login` varchar(60) NOT NULL DEFAULT '', + `user_pass` varchar(255) NOT NULL DEFAULT '', + `user_nicename` varchar(50) NOT NULL DEFAULT '', + `user_email` varchar(100) NOT NULL DEFAULT '', + `user_url` varchar(100) NOT NULL DEFAULT '', + `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_activation_key` varchar(255) NOT NULL DEFAULT '', + `user_status` int(11) NOT NULL DEFAULT 0, + `display_name` varchar(250) NOT NULL DEFAULT '', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`), + KEY `user_email` (`user_email`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wp_users` +-- + +LOCK TABLES `wp_users` WRITE; +/*!40000 ALTER TABLE `wp_users` DISABLE KEYS */; +INSERT INTO `wp_users` VALUES (1,'admin','$P$Bb5w46F3ToXp16YIXGvAPwbE8.b5Zs/','admin','dev-email@wpengine.local','http://echoes.local','2025-03-28 10:41:07','',0,'admin'); +/*!40000 ALTER TABLE `wp_users` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2025-03-28 15:13:55 diff --git a/examples/next/custom-sitemap-apollo/wp-env/setup/.htaccess b/examples/next/custom-sitemap-apollo/wp-env/setup/.htaccess new file mode 100644 index 0000000..ad8663f --- /dev/null +++ b/examples/next/custom-sitemap-apollo/wp-env/setup/.htaccess @@ -0,0 +1,21 @@ + + Header set Access-Control-Allow-Origin "*" + Header set Access-Control-Allow-Methods "GET, POST, OPTIONS" + Header set Access-Control-Allow-Headers "Authorization, Content-Type" + + +# BEGIN WordPress +# The directives (lines) between "BEGIN WordPress" and "END WordPress" are +# dynamically generated, and should only be modified via WordPress filters. +# Any changes to the directives between these markers will be overwritten. + +RewriteEngine On +RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] +RewriteBase / +RewriteRule ^index\.php$ - [L] +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule . /index.php [L] + + +# END WordPress \ No newline at end of file diff --git a/examples/next/custom-sitemap-apollo/wp-env/uploads.zip b/examples/next/custom-sitemap-apollo/wp-env/uploads.zip new file mode 100644 index 0000000..b177051 Binary files /dev/null and b/examples/next/custom-sitemap-apollo/wp-env/uploads.zip differ