Nem todo mundo sabe, mas a Envato tem um sistema de afiliados. Para recomendar algum tema, é necessário adicionar “?ref=”usuario” no fim de qualquer url (usuário é o seu login da Envato). Há um tempo atrás precisei criar uma espécie de vitrine para os templates.
A Envato fornece uma API pelo site pelo qual é possível pegar informação dos templates. Aqui estou usando o feed “popular” que traz os temas mais populares do Theme Forest. O resultado foi o da imagem abaixo (da última semana):

A única coisa que você precisa modificar no código abaixo é o nome do usuário, a quantidade de itens a serem mostrados e as dimensões da imagem. O usuário serve para adicionar o código do afiliado no fim de cada URL.
<?php
$usuario = ""; //Seu usuário no ThemeForest
$qtd = 5; //Quantidade de imagens
$largura = 300; //Largura da imagem em pixels (Recomendado para evitar imagens muito grandes)
$altura = ""; // Altura da imagem em pixels (Não obrigatório)
$url = "http://marketplace.envato.com/api/edge/popular:themeforest.xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($data);
$xmlNodes = $xml->{'popular'}->{'items-last-week'}->{'items-last-week'};
$i=0;
foreach($xmlNodes as $element){
echo '<a href="'.$element->{'url'}.'?ref='.$usuario.'"><img src="'.$element->{'live-preview-url'}.'" width="'.$largura.'" height="'.$altura.'" /></a>';
if (++$i == $qtd) break;
}
?>O código mostra apenas uma imagem dentro de uma tag <a>. Você pode transformar em lista, slide ou no que vier à sua cabeça.
Atualização
Segue um outro código usando os outros mercados da Envato (GraphicRiver, Codecanyon, etc):
<?php
$usuario = ''; //Seu usuario na Envato
$fontes = array (
0 => 'http://marketplace.envato.com/api/edge/popular:activeden.xml',
1 => 'http://marketplace.envato.com/api/edge/popular:themeforest.xml',
2 => 'http://marketplace.envato.com/api/edge/popular:graphicriver.xml',
);
$url = $fontes[rand(0,2)];
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Return data rather then echo it
curl_setopt($ch, CURLOPT_URL, $url); //Pass in our url
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($data); //Read the returned XML
$xmlNodes = $xml->{'popular'}->{'items-last-week'}->{'items-last-week'};
$html = '<ul style="list-style:none;">';
$i=0;
foreach($xmlNodes as $element){
echo '<li style="display:block;float:left; margin: 5px!important; list-style:none">';
echo '<a href="'. $element->url .'?ref='.$usuario.'" ><img src="'. $element->thumbnail .'" alt="'. $element->item .'" title="'. $element->item .'" /></a></li>';
if (++$i == 6) break;
}
$html .= '</ul>';
echo $html;
?>