Alright, so I got a reply:
The syntax to add support is the following:
$template_system = tangible_template_system();
$template_system->register_theme_positions([
[
'name' => 'custom_hook_name',
'label' => 'Custom part',
], [
'name' => 'another_custom_hook_name',
'label' => 'Another custom part',
]
]);
You can also register positions inside sections, purely for aesthetics and keeping things organized:
How to add sections
$template_system->register_theme_position_groups([
'custom-section' => [
'label' => 'Custom section',
'hooks' => [
[
'name' => 'custom_hook_name',
'label' => 'Custom part',
], [
'name' => 'another_custom_hook_name',
'label' => 'Another custom part',
]
]
]
]);
The useful part
So in theory, you could add this to your functions.php file:
if( ! function_exists('tangible_template_system') ) return;
$template_system = tangible_template_system();
/**
* Adds support for L&L layouts
*
* If we add it in a theme it's OK because it will only be loaded when the theme
* is activated
*
* However, if it's from a plugin we need to make sure the related theme is activated
* before calling register_theme_position_groups()
*/
$template_system->register_theme_position_groups([
'header' => [
'label' => 'Header',
'hooks' => [
[
'name' => 'my_header_hook',
'label' => __( 'Header', 'my_text_domain' ),
],
[
'name' => 'my_before_header_hook',
'label' => __( 'Before Header', 'my_text_domain' ),
],
[
'name' => 'my_after_header_hook',
'label' => __( 'After Header', 'my_text_domain' ),
],
],
],
'content' => [
'label' => 'Content',
'hooks' => [
[
'name' => 'my_before_content_hook',
'label' => __( 'Before Content', 'my_text_domain' ),
],
[
'name' => 'my_after_content_hook',
'label' => __( 'After Content', 'my_text_domain' ),
],
],
],
'footer' => [
'label' => 'Footer',
'hooks' => [
[
'name' => 'my_footer_hook',
'label' => __( 'Footer', 'my_text_domain' ),
],
[
'name' => 'my_before_footer_hook',
'label' => __( 'Before Footer', 'my_text_domain' ),
],
[
'name' => 'my_after_footer_hook',
'label' => __( 'After Footer', 'my_text_domain' ),
],
],
],
]);
The dev also provided me with a barebones custom theme as an example but I don’t seem to be able to upload zips here (which seems prudent) so let me know if you want that and I can find a way to publish it elsewhere or send it to you
I haven’t had a chance to test this on my end, so do let me know how it goes!