Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Don't show active custom templates in the active view
  • Loading branch information
ellatrix committed Oct 28, 2025
commit 8ce160bfd39c14a2e575055f83f8c07d5ca67504
46 changes: 32 additions & 14 deletions packages/edit-site/src/components/page-templates/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,37 +121,55 @@ export default function PageTemplates() {
return _active;
}, [ userRecords, staticRecords, activeTemplatesOption, activeTheme ] );

let _records;
let isLoadingData;
if ( activeView === 'active' ) {
_records = activeTemplates;
isLoadingData = isLoadingUserRecords || isLoadingStaticData;
} else if ( activeView === 'user' ) {
_records = userRecords;
isLoadingData = isLoadingUserRecords;
} else {
_records = staticRecords;
isLoadingData = isLoadingStaticData;
}

const records = useMemo( () => {
return _records.map( ( record ) => ( {
...record,
_isActive: !! activeTemplates.find(
( template ) => template.id === record.id
),
_isCustom:
// For registered templates, the is_custom field is defined.
function isCustom( record ) {
// For registered templates, the is_custom field is defined.
return (
record.is_custom ??
// For user templates it's custom if the is_wp_suggestion meta
// field is not set and the slug is not found in the default
// template types.
( ! record.meta?.is_wp_suggestion &&
! defaultTemplateTypes.find(
! defaultTemplateTypes.some(
( type ) => type.slug === record.slug
) ),
) )
);
}

let _records;
if ( activeView === 'active' ) {
// Don't show active custom templates in the active view.
_records = activeTemplates.filter(
( record ) => ! isCustom( record )
);
} else if ( activeView === 'user' ) {
_records = userRecords;
} else {
_records = staticRecords;
}
return _records.map( ( record ) => ( {
...record,
_isActive: activeTemplates.some(
( template ) => template.id === record.id
),
_isCustom: isCustom( record ),
} ) );
}, [ _records, activeTemplates, defaultTemplateTypes ] );
}, [
activeTemplates,
defaultTemplateTypes,
userRecords,
staticRecords,
activeView,
] );

const users = useSelect(
( select ) => {
Expand Down
Loading