fix(bricks): correct Single Post template conditions format

Bricks's templateConditions for single posts expects:
  main: 'postType', postType: ['post']      (array of post types)

NOT the singular/object variant I'd used:
  main: 'singular', object: 'post'

The wrong format triggered "Invalid post type" when opening the template
in the Bricks builder editor — Bricks's editor couldn't parse the
condition and refused to load the template.

Source : wp-content/themes/bricks/includes/admin.php line 1101 — the
switch case for 'postType' confirms the expected shape.

For 'any' (entire website, used by Header/Footer templates), no extra
keys are needed beyond main='any'. Section/single templates need this
postType array form.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-15 07:35:12 +02:00
parent 918c000817
commit e52a1de268

View File

@@ -254,11 +254,18 @@ function av_ensure_insight_single_template() {
]);
}
// Mark as type=single + apply to all single posts
// Mark as type=single + apply to all single posts.
// Bricks expects main='postType' + postType=['post'] (array) — not the
// 'singular' + 'object' variant. Using the wrong format triggers
// 'Invalid post type' when opening the template in the builder.
update_post_meta($tpl_id, '_bricks_template_type', 'single');
$settings = get_post_meta($tpl_id, '_bricks_template_settings', true) ?: [];
$settings['templateConditions'] = [
['id' => substr(md5('postSingle'), 0, 6), 'main' => 'singular', 'object' => 'post'],
[
'id' => substr(md5('postSingle'), 0, 6),
'main' => 'postType',
'postType' => ['post'],
],
];
update_post_meta($tpl_id, '_bricks_template_settings', $settings);