Permalinks on the site are not set to ‘plain,’ and I have switched among non-‘plain’ options to see if simply changing the setting would make a difference. But regardless of the permalinks setting I choose, the ‘Others’ section does not appear for me in the use assignment panel in Layouts.
It is a hold-over from earlier versions of Layouts that it requires the theme to be integrated for custom 404 error pages to be possible (and this information is missing from that documentation page).
You can trick Layouts into thinking the theme is integrated by adding the following code snippet to your site:
/**
* "Integrate" theme with Layouts
*/
add_filter('ddl-is_integrated_theme', '__return_true');
We have an internal ticket to update this (remove the requirement or document it), but the above should serve as a workaround for now.
That’s helpful for starting to understand what’s at issue. Thanks!
Unfortunately, although adding this filter hook does enable the ‘Others’ section for use assignment, it also breaks Layouts functionality on the front end altogether. Most of my pages end up blank. Any ideas about what that might be attributable to? I don’t know much about what comes into Toolset working with the theme (GeneratePress in this case).
I only got as far as testing that it enabled you to create a custom 404 Layout, not how it affected the front-end when you did.
Testing that now, I didn't see any issue such as you describe (blank pages), but I did find that the custom 404 page itself didn't work.
And looking further into it, I'm not sure that it would be expected to. Unless you are using a genuinely integrated theme (rather than just tricking Layouts into thinking you are with the above code snippet), then Layouts can only replace the_content() in the PHP template. And a 404.php template is unlikely to output the_content(), precisely because there is no post to output.
I will verify with the Layouts developers, but it seems to me we need to update the documentation to say that you simply cannot create a custom 404 page (except where you are using a fully-integrated theme, which you almost certainly are not).
In your case, to create a custom 404 page you will need to copy the 404.php template to a child theme and then directly edit that php template according to your needs.