Como programar os posts do seu blog

Acredito que, nas últimas semanas, muitos internautas ficaram curiosos para saber como é possível “agendar posts no blog”, prevendo situações como a que eu estou passando agora: um longo período de inatividade. Particularmente, essa dúvida pintou pela primeira vez na minha cabeça em abril do ano passado, assim que migrei para a tecnologia Movable Type (se você usa blogger, weblogger, blig ou outro gratuito, certamente o restante do post será frustrante…).

Em busca de respostas, tive a orientação do mestre Fábio Sampaio, que me deu uma rápida aulinha: “MT é um publishing tool, que gera paginas estaticas – ao contrario de outros CMS em PHP/MySQL, que geram a página dinamicamente no instante do acesso, você é obrigado a regerar as pages índice sempre que publicar algo. A solução completa passaria por um script que seria executado todo dia automaticamente (via cron jobs, por exemplo), fazendo a geração da página somente com os posts até o dia atual”.

Traduzindo: o sistema não pode agendar posts, pois seria necessário alguém (ou um programa) para “clicar no publicar” todo dia.

Mas nem tudo está perdido: “existe um script em PHP que pode ser a solução para o que você deseja”, completou Fábio, indicando este endereço. Trata-se de um comandinho em PHP, que após instalado, faz com que o blog mostre apenas os posts publicados a partir da hora atual. Ou seja: se mudarmos a data do post, ele não aparece até o horário previsto!

A versão do comando PHP publicada no site é a seguinte:

<MTEntries>

<?

if (time() > strtotime ("<$MTEntryDate format="%B %e, %Y %I:%M%p"$>"))

{

?>

<!--- a seguir entram as tags normais do MT. Antes do "/MTEntries", adicione a próxima linha: -->

<? } ?>

</MTEntries>

Depois de mergulhar fundo na linguagem PHP, percebi que, na prática, o comando acima faz uma comparação entre a data e hora atual e a do post. Descobri ainda que a função strtotime reconhece apenas datas em inglês. Ou seja, dependendo do formato de data, a coisa não funcionaria bem no MMM. Assim sendo, fiz uma “alteração estúpida, porém funcional”:

<MTEntries>

<?

$hoje = date("Y-m-d H:i");
$post = "<$MTEntryDate format="%Y-%d-%e %H:%M"$>";
if ($hoje > $post)

{

?>

<!--- a seguir entram as tags normais do MT. Antes do "/MTEntries", adicione a próxima linha: -->

<? } ?>

</MTEntries>

Em tese, parece funcionar perfeitamente por aqui. Com exceção de alguns dados importantes: “tenha em mente que o fonte da página conterá todos os posts para o futuro, porém apenas aqueles até a data atual são mostrados no browser pela interferência do PHP. Outra falha da solução é o aparecimento desses posts do futuro na lista de resultados, caso alguém faça uma procura no blog com palavras que os mesmos contenham”. Realmente, quem fez isso por aqui quebrou a cara…

A idéia certamente vai ser aperfeiçoada para o ano que vem, quando provavelmente existirão plug-ins preparados para tal. Ou, de repente, simplesmente esqueço esta facilidade e ignoro solenemente a existência do blog nas férias.

André Marmota acredita em um futuro com blogs atualizados, livros impressos, videolocadoras, amores sinceros, entre outros anacronismos. Quer saber mais?

Leia outros posts em Faça fazendo. Permalink

Comentários em blogs: ainda existem? (5)

  1. Euzinha, como a Cacau, também não entendi nada.

    O Sabbath que vai curtir esse post, ainda comentamos dia desses, “como será que o Marmota programou isso tudo?”.

    Beijo no Fábio!!!

    Beijo,

  2. Heimmmmmm… É de comer?!?!?!?!
    Brincadeirinha!!!
    Eu entendi tudinho…
    …errado!
    🙂
    Falando sério: legal isso, eu não teria o dom. Só se fosse muito necessário para a minha sobrevivência (ãhmmmmm?!?!?!).
    Aiaiai…
    Beijos,

Deixe um comentário para Ana Katia Cancelar resposta

Campos com * são obrigatórios. Relaxe: não vou montar um mailing com seus dados para vender na Praça da República.


*