in ext_localconf.php:

 

ExtensionUtility::configurePlugin(
'BlogExample', // extension name without the vendor
'PostSingle', //PluginName
[PostController::class => 'show', CommentController::class => 'create'], // cacheable actions
[CommentController::class => 'create'], // non-cacheable actions
ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT,
);

 

in TCA/Overrides/tt_content:

 

$pluginKey = ExtensionUtility::registerPlugin(
        'BlogExample',
        'PostSingle',
        'Single Post (BlogExample)', // plugin title, as visible in the drop-down in the backend, use "LLL:" for localization      
        // plugin icon, use an icon identifier from the icon registry
        'my-icon',
        // plugin group, to define where the new plugin will be located in
        'default',
        // plugin description, as visible in the new content element wizard
        'My plugin description',
    );

 

 

More Infos: docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/Extbase/Reference/FrontendPlugins.html