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' => [
'variables' => [
'heading' => '',
'activities' => []
],
],
}
// Then in your controller
public function yourRenderMethod() {
$heading = 'Some fun activities';
$activities = [
'Rocket League',
'Violin'
];
return [
'#theme' => 'a_fun_template',
'#heading' => $heading,
'#activities' => $activities,
];
}
// Then in a-fun-template.html.twig
{#
Do whatever with your variables, like print them
#}
<h1>{{ heading }}</h1>
<ul>
{% for activity in activities %}
<li>{{ activity }}</li>
{% endfor %}
</ul>
EDIT: I think I figured out why you're looking at the block. All that that is is the "Main page content" 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.