{"id":15039794,"url":"https://github.com/automattic/create-content-model","last_synced_at":"2025-04-04T22:07:46.492Z","repository":{"id":256193321,"uuid":"839543861","full_name":"Automattic/create-content-model","owner":"Automattic","description":"Create content models from the UI","archived":false,"fork":false,"pushed_at":"2025-02-26T08:44:37.000Z","size":690,"stargazers_count":185,"open_issues_count":28,"forks_count":13,"subscribers_count":16,"default_branch":"trunk","last_synced_at":"2025-04-04T22:07:44.605Z","etag":null,"topics":["wordpress"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Automattic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-07T20:38:35.000Z","updated_at":"2025-04-04T03:01:20.000Z","dependencies_parsed_at":"2024-10-01T02:20:58.374Z","dependency_job_id":"8245c4c0-7a9d-4f6b-ae16-4685d456d60d","html_url":"https://github.com/Automattic/create-content-model","commit_stats":null,"previous_names":["automattic/create-content-model"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fcreate-content-model","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fcreate-content-model/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fcreate-content-model/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fcreate-content-model/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Automattic","download_url":"https://codeload.github.com/Automattic/create-content-model/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256112,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["wordpress"],"created_at":"2024-09-24T20:43:50.582Z","updated_at":"2025-04-04T22:07:46.477Z","avatar_url":"https://github.com/Automattic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create Content Model\n\n_Define custom post types \u0026 fields in the Block Editor._\n\nWordPress.com’s experimental Create Content Model plugin transforms the way custom post types and custom fields are created and managed in WordPress by making use of the latest core features to bring content modeling into the Block Editor. Additionally, the created data model and data entry UI can be exported as a standalone, maintenance-free plugin.\n\n[![Try in WordPress Playground](https://img.shields.io/badge/Try%20in%20WordPress%20Playground-blue?style=for-the-badge)](https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/Automattic/create-content-model/trunk/blueprint.json)\n\nYou can also test out the plugin locally with [Studio](https://developer.wordpress.com/studio/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=create-content-model)! Check out the [Get Started](/get-started.md#test-locally-with-studio) guide for details.\n\nhttps://github.com/user-attachments/assets/723a973a-eb92-4b71-9f64-ac269d0f9861\n\nFor a more thorough introduction:\n\n-   Check out Brian Coord's [Custom fields and post types inside the block editor livestream](https://www.youtube.com/watch?v=VLB3OkgNOTs).\n-   [Watch our talk at WordCamp Asia 2025](https://www.youtube.com/live/nKntUgxnZuY?feature=shared\u0026t=3409), and this is the [demo video](https://youtu.be/67CHMveu38Y) shown at the end of the talk.\n\n## Getting Started\n\nFind detailed instructions on creating your content model using this plugin in the [Get Started](/get-started.md) guide.\n\n[![Download Latest Release](https://img.shields.io/badge/Download%20Latest%20Release-blue?style=for-the-badge)](https://github.com/Automattic/create-content-model/releases/latest/download/create-content-model.zip)\n\n## About\n\nOur team at WordPress.com is excited to share our recent prototyping efforts on game changing approaches to custom content creation. \n\nThe Create Content Model plugin builds upon our custom post types project at the [CloudFest Hackathon in 2024](https://wordpress.com/blog/2024/04/15/custom-post-types-wordpress-admin/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=create-content-model). We’ve leveraged core functionality, like [block bindings](https://make.wordpress.org/core/2024/03/06/new-feature-the-block-bindings-api/) and [block variations](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-variations/), to create a new paradigm for creating and managing custom post types and custom fields in WordPress.\n\nUnlike existing custom post type and custom field plugins, our plugin takes a native approach by putting the creation and management of these elements directly in the WordPress Block Editor. Using the Block Bindings API, `post_meta` fields are bound to block attributes. Block variations are created from each bound block for use in front-end template layouts. The result is an extremely intuitive workflow for both the setup of custom post types and fields and their usage in front-end templating.\n\nA key feature of the Create Content Model plugin is the export of a locked custom data model and a data entry UI. Developers can generate and reuse the same content models on multiple sites without ongoing plugin maintenance or costs. They can hand off fully functional sites with locked custom post types and fields, ready for clients to populate the content.\n\n## Development\n\n* Run `npm install` to install the dependencies\n* Run `npm run dev-server` to start the local WordPress server\n* In a new terminal window, run `npm start` to start the JavaScript bundler watcher\n\n### Bundling\n\nRun `npm run plugin-zip` to create a zip file of the plugin. This will automatically bundle the JavaScript files.\n\n### Creating a new release\n\nCreate a new release by filling the form on [this page](https://github.com/Automattic/create-content-model/releases/new).\n\nThe release title and tag (\"Choose a tag\" selectbox, above the title) should be in the Semver format (`major.minor.patch`).\n\nThe release description should be a list of bullet points of the most meaningful changes. You can copy the commit title from the merged PRs.\n\nAfter clicking \"Publish release,\" a [GitHub workflow](https://github.com/Automattic/create-content-model/blob/trunk/.github/workflows/release.yml) will bundle the plugin and export the release artifact.\n\n## Contribute \u0026 Contact\n\nWant to help us move this concept forward?\n\nFeel free to open an issue in the repo to discuss your proposed improvement. Pull requests are welcome for bug fixes and enhancements.\n\nWe built this as a prototype and may invest into it further based on level of interest. Our near term vision is outlined in this [roadmap issue](https://github.com/Automattic/create-content-model/issues/77).\n\n## Licensing\n[GNU General Public License](/LICENSE.md)\n\n## Credits \u0026 Acknowledgements\nWe’d like to thank the team at WordPress.com who made this project possible: [Luis Felipe Zaguini](https://github.com/zaguiini), [Candy Tsai](https://github.com/candy02058912), [Autumn Fjeld](https://github.com/autumnfjeld), [Brian Coords](https://github.com/bacoords), [Daniel Bachhuber](https://github.com/danielbachhuber).\n\n## Stay in the Loop with WordPress.com\nFollow us:\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/showcase/wordpress.com)\n\n[![X](https://img.shields.io/badge/X-000000?style=for-the-badge\u0026logo=x\u0026logoColor=white)](https://x.com/wordpressdotcom)\n\n[![image](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge\u0026logo=instagram\u0026logoColor=white)](https://www.instagram.com/wordpressdotcom)\n\n\u003c!-- Later we can add developers newsletter --\u003e\n\nAnd while you’re at it, check out our [WordPress hosting solution for developers](https://wordpress.com/hosting?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=create-content-model) and [our agency program](https://wordpress.com/for-agencies/?utm_source=github\u0026utm_medium=readme\u0026utm_campaign=create-content-model).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomattic%2Fcreate-content-model","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautomattic%2Fcreate-content-model","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomattic%2Fcreate-content-model/lists"}