Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Expose post_types field to Templates REST API #7530

Open
wants to merge 5 commits into
base: trunk
Choose a base branch
from

Conversation

Debarghya-Banerjee
Copy link

Trac Ticket: Core-61308

Overview

This pull request adds a new post_types field to the existing WordPress REST API endpoint for templates (/wp/v2/templates). This enhancement allows users to filter templates based on the post types they are intended for, thereby improving usability and functionality in the site editor templates screen.

Changes Made

Modified get_item_schema():

  • Added a new property, post_types, to the JSON schema for templates.

  • The post_types field is defined as an array of strings, describing the associated post types for each template.

Updated prepare_item_for_response():

  • Implemented logic to fetch and include the post_types information in the API response.

  • Ensured that the post_types field is populated based on the associated post types stored in the template's metadata.

Benefits

  • Improved Filtering: Users can now filter templates directly by their associated post types, making it easier to find relevant templates for specific content types.

  • Enhanced API Usability: By exposing the post_types field, we align the API capabilities with user expectations and common use cases.

Copy link

github-actions bot commented Oct 7, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props debarghyabanerjee, martinkrcho, costasovo.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Copy link

github-actions bot commented Oct 7, 2024

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • The Plugin and Theme Directories cannot be accessed within Playground.
  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

@martinkrcho
Copy link

Changes look good. @Debarghya-Banerjee Would you be able to extend the existing unit tests?

@Debarghya-Banerjee
Copy link
Author

Hi @martinkrcho , I have fixed the failing test cases. Can you please check it. Thanks.

@costasovo
Copy link

@martinkrcho, @Debarghya-Banerjee, Thanks for working on this! 👍 I would love to see this merged. Is there anything I could do to help you with the PR?

costasovo added a commit to mailpoet/mailpoet that referenced this pull request Dec 13, 2024
We want to use post_type for filtering email templates.
There is a PR that adds this property WordPress/wordpress-develop#7530
but it is not merged.
This commit added the property and also future compatibility check
so that we don't attempt to add it after the PR is merged.
[MAILPOET-6356]
costasovo added a commit to mailpoet/mailpoet that referenced this pull request Dec 17, 2024
We want to use post_type for filtering email templates.
There is a PR that adds this property WordPress/wordpress-develop#7530
but it is not merged.
This commit added the property and also future compatibility check
so that we don't attempt to add it after the PR is merged.
[MAILPOET-6356]
costasovo added a commit to mailpoet/mailpoet that referenced this pull request Dec 19, 2024
We want to use post_type for filtering email templates.
There is a PR that adds this property WordPress/wordpress-develop#7530
but it is not merged.
This commit added the property and also future compatibility check
so that we don't attempt to add it after the PR is merged.
[MAILPOET-6356]
costasovo added a commit to mailpoet/mailpoet that referenced this pull request Dec 20, 2024
We want to use post_type for filtering email templates.
There is a PR that adds this property WordPress/wordpress-develop#7530
but it is not merged.
This commit added the property and also future compatibility check
so that we don't attempt to add it after the PR is merged.
[MAILPOET-6356]
costasovo added a commit to mailpoet/mailpoet that referenced this pull request Dec 20, 2024
We want to use post_type for filtering email templates.
There is a PR that adds this property WordPress/wordpress-develop#7530
but it is not merged.
This commit added the property and also future compatibility check
so that we don't attempt to add it after the PR is merged.
[MAILPOET-6356]
@martinkrcho
Copy link

Updated tests look good to me. @Debarghya-Banerjee can you merge latest trunk and re-run tests? I would approve this if the tests run OK.

@Debarghya-Banerjee
Copy link
Author

Sure @martinkrcho will do that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants