creating a custom report page with a table Drupal 8.9.6, I'm trying to create a custom module admin report page.
I have a custom sub theme of seven called wd_admin.
I made a page controller that generates a table as markup, but want to use a twig file to render the html, and can't figure out the theming.
It is using block.html.twig to render the content, and the first suggested template is block--wd-admin-content.html.twig. So I created it, and plumbed it in with hook_theme and hook_theme_suggestions_block_alter, but it affected the content on all admin pages, wrong move.
Seems like for this to work it would have to be specific to the page. What do I need to do to render this page, maybe a page.html template?
Yeah I think you're conflating a few different concepts and making everything way more complex than it needs to be.
If you all you want to do is render a particular custom template with your controller then you'd want to:
// In fun.module
function fun_theme() {
  return [
    'a_fun_template' =&gt; [
      'variables' =&gt; [
        'heading' =&gt; '',
        'activities' =&gt; []
      ],
    ],
}

// Then in your controller
public function yourRenderMethod() {
  $heading = 'Some fun activities';
  $activities = [
     'Rocket League',
     'Violin'
  ];
  return [
    '#theme' =&gt; 'a_fun_template',
    '#heading' =&gt; $heading,
    '#activities' =&gt; $activities, 
  ];
}

// Then in a-fun-template.html.twig
{#
  Do whatever with your variables, like print them
#}
&lt;h1&gt;{{ heading }}&lt;/h1&gt;
&lt;ul&gt;
{% for activity in activities %}
  &lt;li&gt;{{ activity }}&lt;/li&gt;
{% endfor %}
&lt;/ul&gt;

EDIT: I think I figured out why you're looking at the block. All that that is is the &quot;Main page content&quot; block from the blocks page. This just renders the main content for the page, which in this case would be the contents of your controller's template. Now that said, what I wrote before was...
I really don't understand where the block is coming into play here, but I think you're misunderstanding that as well.
First, the default template suggestions are very general. block--wd-admin-content.html.twig is probably added by wd_admin to every admin block by default. That's why a template by that name would be used by all blocks in the admin area. Generally the longer the suggested template name, the more specific it is. Template suggestions that you add to hook_theme_suggestions_block_alter() will apply to all blocks unless you wrap the suggestion in conditional logic that says otherwise. If all you're doing is using a hook_theme template in a controller then you don't need this hook at all.