Antes de tudo, vale ressaltar que você pode criar um Shortcode personalizado sem programação usando plugins, como o Shortcoder. Porém, se você gosta de sofrer quer ter a versatilidade de programar o seu próprio, existe um outro caminho.

Nessa altura do campeonato você já deve saber que todo tema para WordPress é composto por um arquivo chamado functions.php em sua pasta raiz, certo? Pois bem, parar criar um shortcode precisamos editar este arquivo.

No arquivo functions.php crie a função que você deseja que seja executada quando o seu shortcode personalizado for executado. No meu caso, deverá retornar o link do meu site. Pra isso, criei a seguinte função:

function slink(){
  return get_site_url(); // essa função do WordPress retorna a URL do seu site
}

Com a função pronta, adicione (no próprio arquivo functions.php) o código à seguir:

add_shortcode('nomeDoSeuShortcode', 'slink'); // repare que como segundo parâmetro, passei o nome da função que criei acima

Salve o arquivo e pronto. Seu shortcode estará acessível em todo o WordPress. Pra incluir ele no meio de um Post ou Página, é só chamá-lo entre colchetes:

[nomeDoSeuShortcode]

Para incluir ele no meio do template, através de alguma página em PHP, você pode chamá-lo programaticamente:

<?php echo do_shortcode('[nomeDoSeuShortcode]'); ?>