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

Editor: Set new default rendering mode for Pages #8123

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

Mamaduka
Copy link
Member

Supersedes: #7129
Gutenberg PR: WordPress/gutenberg#68549

This update updates the page post-type definition and sets template-locked as the new default rendering mode for the block editor.

Trac ticket: https://core.trac.wordpress.org/ticket/61811


This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

@Mamaduka Mamaduka self-assigned this Jan 15, 2025
Copy link

github-actions bot commented Jan 15, 2025

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 mamaduka, wildworks, tyb, swissspidy, audrasjb.

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

Copy link

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.

@TylerB24890
Copy link

Thanks for the fixes! 😃

@Mamaduka
Copy link
Member Author

I'm considering making the new default mode for Pages conditional and only setting it when wp_is_block_theme is true. Why?

Is the create_initial_post_types (still) the best place to enable the new default mode for Pages based on conditions? cc @swissspidy, @peterwilsoncc

@swissspidy
Copy link
Member

Yes, I don't see why not. Given that create_initial_post_types runs on init, it should be safe to use wp_is_block_theme() at that point.

@audrasjb
Copy link
Contributor

I'm considering making the new default mode for Pages conditional and only setting it when wp_is_block_theme is true.

Anyway, I think it would be safer to implement this step by step, and perhaps not making it the default behavior for page-like post types for now, at least in hybrid/classic themes.

src/wp-includes/post.php Outdated Show resolved Hide resolved
@Mamaduka Mamaduka force-pushed the update/page-editor-default-rendering-mode branch from 632dda6 to 1397661 Compare February 13, 2025 02:14
@Mamaduka
Copy link
Member Author

Synced the latest changes from WordPress/gutenberg#69160. This is ready for testing and approval.

@@ -69,6 +69,11 @@ function create_initial_post_types() {
)
);

// Enhance page editor for block themes by rendering template and content blocks.
if ( wp_is_block_theme() ) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if ( wp_is_block_theme() ) {
if ( wp_is_block_theme() && current_theme_supports( 'block-templates' ) ) {

I think I'll need to harden this condition by adding a current_theme_supports check. While it should be an edge case for a block theme not to support block-templates, it's still technically doable. See: WordPress/gutenberg#67875 (comment).

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.

5 participants