From 8292b7f913fe5f34432bd3696f9c095b137404de Mon Sep 17 00:00:00 2001 From: ntsekouras Date: Mon, 19 Jun 2023 11:07:28 +0300 Subject: [PATCH 1/2] Fix template display in page details with a custom template --- .../page-details.js | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js b/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js index 996e1c93773144..8c428e663642ad 100644 --- a/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js +++ b/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js @@ -11,7 +11,11 @@ import { import { count as wordCount } from '@wordpress/wordcount'; import { useSelect } from '@wordpress/data'; import { decodeEntities } from '@wordpress/html-entities'; -import { store as coreStore, useEntityRecord } from '@wordpress/core-data'; +import { + store as coreStore, + useEntityRecord, + useEntityRecords, +} from '@wordpress/core-data'; /** * Internal dependencies @@ -95,13 +99,14 @@ function getPageDetails( page ) { export default function PageDetails( { id } ) { const { record } = useEntityRecord( 'postType', 'page', id ); - + const { records: templates } = useEntityRecords( + 'postType', + 'wp_template', + { per_page: -1 } + ); const { parentTitle, templateTitle } = useSelect( ( select ) => { - const { getEditedPostContext, getSettings } = unlock( - select( editSiteStore ) - ); - const defaultTemplateTypes = getSettings()?.defaultTemplateTypes; + const { getEditedPostContext } = unlock( select( editSiteStore ) ); const postContext = getEditedPostContext(); // Template title. @@ -112,10 +117,10 @@ export default function PageDetails( { id } ) { ? postContext?.templateSlug : null; const _templateTitle = - defaultTemplateTypes && templateSlug - ? defaultTemplateTypes.find( + templates && templateSlug + ? templates?.find( ( template ) => template.slug === templateSlug - )?.title + )?.title?.rendered : null; // Parent page title. @@ -135,7 +140,7 @@ export default function PageDetails( { id } ) { templateTitle: _templateTitle, }; }, - [ record ] + [ record, templates ] ); return ( From a9e6814b35f42eced1abff41de085e5a3bd4a271 Mon Sep 17 00:00:00 2001 From: ntsekouras Date: Mon, 19 Jun 2023 12:55:56 +0300 Subject: [PATCH 2/2] address feedback --- .../page-details.js | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js b/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js index 8c428e663642ad..290ae4907f9a9e 100644 --- a/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js +++ b/packages/edit-site/src/components/sidebar-navigation-screen-page/page-details.js @@ -11,11 +11,7 @@ import { import { count as wordCount } from '@wordpress/wordcount'; import { useSelect } from '@wordpress/data'; import { decodeEntities } from '@wordpress/html-entities'; -import { - store as coreStore, - useEntityRecord, - useEntityRecords, -} from '@wordpress/core-data'; +import { store as coreStore, useEntityRecord } from '@wordpress/core-data'; /** * Internal dependencies @@ -99,16 +95,15 @@ function getPageDetails( page ) { export default function PageDetails( { id } ) { const { record } = useEntityRecord( 'postType', 'page', id ); - const { records: templates } = useEntityRecords( - 'postType', - 'wp_template', - { per_page: -1 } - ); const { parentTitle, templateTitle } = useSelect( ( select ) => { const { getEditedPostContext } = unlock( select( editSiteStore ) ); const postContext = getEditedPostContext(); - + const templates = select( coreStore ).getEntityRecords( + 'postType', + 'wp_template', + { per_page: -1 } + ); // Template title. const templateSlug = // Checks that the post type matches the current theme's post type, otherwise @@ -118,7 +113,7 @@ export default function PageDetails( { id } ) { : null; const _templateTitle = templates && templateSlug - ? templates?.find( + ? templates.find( ( template ) => template.slug === templateSlug )?.title?.rendered : null; @@ -140,7 +135,7 @@ export default function PageDetails( { id } ) { templateTitle: _templateTitle, }; }, - [ record, templates ] + [ record?.parent ] ); return (