E se no meu sidebar.php apenas aparecer isto?
<div id="sidebar">
<?php
if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar')):
endif;
?>
</div>
Assim apenas posso por ou no topo, ou no fim da sidebar.
E o local é mesmo no meio.
A solução para esse caso é criaress 2 sidebar dinamicas.
Não sei se tens wordpress, mas supondo que sim, podes ver como neste link
neste linkDepois de as registares no functions.php do teu tema, fazes a chamada da função para a página sidebar
A sintaxe da página deve ficar algo como
<div id="sidebar">
<?php
if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar')):
endif;
?>
<?php if(is_home()) { ?>
//codigo html para aparecer na home
<?php } else { ?>
//codigo para o resto
<?php } ?>
<?php
if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar2')):
endif;
?>
</div>
Após isso, é so dividires os wighets que ficam depois do banner para a sidebar secundária, o unico inconveniente é se quiseres mudar o banner, teres de ir ao codigo fonte, (a nao ser que cries uma página de configuração do tema e adiciones esses 2 trechos de codigo)
Espero ter ajudado, e nao me ter enganado em nada, mas penso que assim chegas lá