Magento 1 Static Blocks
Static blocks are a semi-useful way to allow clients to edit content without having code access. There are a lot of issues with static blocks, but sometimes they can be useful. Once you have created your static block, you can retrieve it in PHP using the code below.
// Retrieve the layout object
$layout = Mage::getSingleton('core/layout');
// Generate a CMS block object
$block = $layout->createBlock('cms/block');
// Set the block ID of the static block
$block->setBlockId('block-id-in-magento');
// Write the static block content to screen
echo $block->toHtml();
Add the above code into any phtml file in Magento and change the 'block-id-in-magento' for the ID of the block you want to load.
You can also access a static block using the following layout XML.
<reference name="content">
<block type="cms/block" name="block.name">
<action method="setBlockId"><block_id>block-id-in-magento</block_id></action>
</block>
</reference>
Magento 2 Static Blocks
The following code will get a static block's HTML output in PHP in Magento 2.
// Object Manager has been used for simplicity
$om = \Magento\Framework\App\ObjectManage::getInstance();
$staticBlock = $om->get('Magento\Cms\Block\BlockFactory')->create();
// Change the your-block-id for the correct block ID
$staticBlock->setBlockId('your-block-id');
echo $staticBlock->toHtml();
You can also get the same block via XML using the following code.
<block class="Magento\Cms\Block\Block" name="Promo">
<arguments>
<argument name="block_id" xsi:type="string">your-block-id</argument>
</arguments>
</block>