In default.xml from module Magento\Theme
add this code inside footer referenceContainer
<block class="Magento\Cms\Block\Block" name="block-footer" after="footer_links">
<arguments>
<argument name="block_id" xsi:type="string">block_footer_custom</argument>
</arguments>
</block>
Goto backend Content > Blocks > Add new static block with identifier
name block_footer_custom with any html code you need. It so easy to editable
Clear cache and re-deploy static. Now you will get your custom block
====UPDATE====
Call block inside template
<?php echo $block->getLayout()->createBlock('Magento\Cms\Block\Block')->setBlockId('block_footer_custom')->toHtml();?>
When creating any new theme or module you need to define registration.php file at root of your module or theme folder.
Always use theme name in lowercase, Because Magento used this standard
for theme name declaration.
You haven't any problem for keep Theme name in camelcase but use standard way is much appreciated.
You have to define registration.php file inside Magento_Theme folder, its in wrong place.
Correct diagram of theme structure will be below,
magento2
|_ app
|_ design
|_ frontend
|_ Custom
|_theme
|_Magento_Theme
|_templates
|_root.phtml - Copy of Luma
|_registration.php
|_theme.xml
Your path for registration.php is app\design\frontend\Custom\theme\registration.php
registration.php file :
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'frontend/Custom/theme',
__DIR__
);
your theme.xml file path will be,
app\design\frontend\Custom\theme\theme.xml
theme.xml file :
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Custom Theme</title>
<parent>Magento/luma</parent>
<media>
<preview_image>media/preview.jpg</preview_image>
</media>
</theme>
After all setup is completed, don't forget to run deploy command for the theme,
php bin/magento setup:static-content:deploy
Check inside your admin panel, Content -> Design -> Configuration
for set your custom theme.
Remove cache and check in the frontend.
Best Answer
The configuration of the footer can be seen in this file:
vendor/magento/module-theme/view/frontend/layout/default.xml
I was able to modify the footer declaration by creating my own default.xml file at
app/design/frontend/<Vendor>/<ThemeName>/Magento_Theme/layout/default.xml
with this content:Now my custom
footer.phtml
file is called instead of the containers/blocks defined in the originaldefault.xml
.