Busca nos campos personalizados do WordPress

13 de março de 2011 ~ 4 comentários ~ Tags:, ,

Os campos personalizados é um recurso usado no WordPress para que o autor de um post possa armazenar dados a sua escolha. Você pode usar esse recurso de várias formas: mostrar imagens personalizadas, falar o que você está ouvindo durante a escrita do post, adicionar informação pessoal e muito mais. Em um blog sobre livros, você pode usar tal recurso para criar os campos "Autor", "Editora", "Ano" e por aí vai.

Estou trabalhando em um projeto que utiliza os campos personalizados na área de Imprensa, onde cada post aponta em que tipo de imprensa determinada informação foi postada: Rádio, TV, Internet, Jornal. Como dito acima, criar o campo personalizado é simples. Difícil é filtrar os posts de acordo com o valor do campo.

A solução

Descobri um plugin chamado Search Custom Fields. Numa explicação rápida, ele adiciona os Campos Personalizados na query de busca de posts.

Antes:

<a href="/?s=minhabusca">minha busca</a>

Depois:

<a href="?meucampopersonalizado=Veículo&s=meuvalordocampopersonalizado">minha busca pelo campo personalizado</a>

Na documentação do plugin, o autor mostra como turbinar o campo de busca do WordPress. Ao invés disso, escrevi uma pequena função para listar os valores de um atributo personalizado:

function list_custom_fields($metakey, $output) {
    // based on http://sixrevisions.com/wordpress/custom-fields-search/
    global $wpdb;
    $items = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metakey) );
    if ($items) {
        if ($output == "dropdown") { // display values in a select
            echo "<form action="/" method="get"><input type="hidden" name="key" value="$metakey" /><select name="s" onchange="this.form.submit();"><option></option>";
            foreach ($items as $item) {
              echo "<option value="" . $item . "">" . $item . "</option>";
            }
            echo "</select></form>";
        } else if ($output == "list") { // display values in a list
            echo "<ul>";
            foreach ($items as $item) {
              echo "<li><a href="/?s=$item&key=$metakey">$item</a></li>";
            }
            echo "</ul>";
        }
    }
}

Coloque a função acima no arquivo functions.php do seu tema e chame-a, de duas formas, em seu sidebar, por exemplo:

<?php if(function_exists('list_custom_fields')) list_custom_fields("Veículo", "dropdown"); ?>

...para mostrar os valores do campo personalizado "Veículo" em select do HTML ou...

<?php if(function_exists('list_custom_fields')) list_custom_fields("Veículo", "list"); ?>

...para mostrar os valores do campo personalizado "Veículo" em uma lista.


Novo micro-projeto: Guia da TV

25 de janeiro de 2011 ~ 3 comentários ~ Tags:, ,

Aproveitei algumas horas das minhas férias e lancei um novo micro-projeto: Guia da TV. O Guia da TV permite você saber quais programas estão para começar.

Algumas coisas ainda serão aprimoradas, mas o aplicativo já está em produção. Ele foi feito com Rails 3 e algumas pitadas de jQuery em sua interface. O conteúdo é fornecido pela Revista Eletrônica. Se você gosta de ver TV, use-o e o recomende no Facebook ;)


Personalizando o scrollbar com WebKit

23 de janeiro de 2011 ~ 2 comentários ~ Tags:,

Personalizar barras de rolagem é algo que vem lá dos tempos do IE 5.5. Naquele tempo, personalizavam-se as cores da barra, criando efeitos na maioria da vezes cafonas. Já faz algum tempo que o WebKit suporta scrollbars personalizadas. Você pode personalizar atributos como borda e background, usando até mesmo imagens para criar barras de rolagens bacanas. Esse artigo mostra alguns pseudo-elementos e pseudo-classes para personalizar sua barra.
Continue lendo →


Projetos no GitHub

23 de janeiro de 2011 ~ Comente! ~ Tags:,

Estou movendo aos poucos algumas coisinhas para o GitHub. Já estão lá:

Em breve criarei novos repositórios lá.


2 alternativas ao delicious

25 de dezembro de 2010 ~ 1 comentário ~ Tags:,

Na última semana o Yahoo anunciou a demissão de centenas de funcionários e o fechamento de alguns serviços, incluindo o del.icio.us delicious, que uso desde muito tempo. Todo mundo ficou surpreso com isso, e já inclusive existem rumores que o serviço continuará, entretanto, a busca para uma alternativa ao delicious começou. Esse post apresenta um mini-review de 2 opções grátis.

markr.net

Opção super-minimalista, o markr é a melhor opção se você procura algo simples. Ele estava com alguns problemas de importação dos favoritos do delicious (encoding incorretos, tamanho do título do favorito e a importação que não recuperava a data dos favoritos), entretanto mandei uma mensagem pro desenvolvedor e ele prontamente corrigiu os erros encontrados.

markr

Zootool

Enquanto o markr.net mantia seus problemas, testei o Zootool. Ele tem uma interface maravilhosa e integração com vários serviços, como Twitter, Facebook e Tumblr. O conteúdo salvo no Zootool pode ser automaticamente compartilhada em outras redes sociais.

zootool

Conclusões

Ambas ferramentas são muito simples de usar, importam o conteúdo do delicious e possuem bookmarklets para adição de links. O Zootool é bem completo, mas por enquanto vou utilizar o markr.net pelo seu minimalismo em apenas organizar seus favoritos.

A rede social de notícias Busk.com lançou o Buskmark, para você também salvar o que é importante no aplicativo. No post onde o TechCrunch levantou o rumor sobre o fechamento do delicious, existem diversos comentários com outras alternativas.


Novo micro-projeto: HORÓSCOPO NO MSN

9 de outubro de 2010 ~ 2 comentários ~ Tags:, ,

Chegou mais um serviço de utilidade pública feita por mim. Depois do codestacker, autosimulado e xavecator, por acaso tive contato com algumas coisinhas do protocolo do MSN e desse contato saiu o Horóscopo por MSN. Horóscopo por MSN foi uma aplicação escrita em algumas noites e seu nome já diz tudo: você recebe o horóscopo do dia em seu MSN.

Horóscopo no MSN

Funciona assim: você adiciona na sua lista de AmIgUxOs o contato horoscopo@leonardofaria.net. Vai no site e escolhe o signo que deseja ser informado. Pronto. Uma vez por dia, o robozinho da aplicação vai entregar no seu MSN o seu horóscopo.

P.S. eu não acredito em horóscopo.
P.S. 2: aplicação foi feita com Rails 3 e PHP. O PHP é responsável por conversar com o MSN enquanto a parte Rails do aplicativo gerencia todo o resto. Minha vontade é portar a parte PHP para Ruby.


Cylay, alternativa ao Find My iPhone

15 de agosto de 2010 ~ Comente! ~ Tags:

A Apple fornece para os assinantes do MobileMe o serviço Find My iPhone. É um serviço muito útil principalmente se você for vítimas de larápios ou quaisquer outros tipos de meliantes, ou até mesmo se você deseja saber onde está sua esposa. O serviço é excelente, mas custa 99 obamas.

O Cylay - disponível no Cydia - faz a mesma função do Find My iPhone. Você pode localizar o aparelho, enviar mensagens para ele, fazer backups remotos e deletar todos os seus dados a distância. Para utilizá-lo, vale lembrar que você precisa de uma conexão com Internet.

Apesar do site oferecer um pacote anual de US$ 19,99, consegui utilizar as funções que descrevi acima sem gastar nada. Vale a pena experimentar.


Academia no iPhone

3 de agosto de 2010 ~ Comente! ~ Tags:

Esse é segundo post que escrevo sobre apps para iPhone. Indico abaixo alguns programinhas para ajudar entrar em forma e a crescer os músculos. Nota: os programas não dispensam a ajuda de profissionais especializados ;)



A Revista Men's Health é famosa por suas reportagens sobre qualidade de vida e treinamentos de musculação. O app da revista gringa traz dezenas de exercícios separados por grupo corporal e agrupados em programas específicos (workouts) de treinamento.
Continue lendo →


Xadrez no iPhone

2 de agosto de 2010 ~ Comente! ~ Tags:

Vou começar uma série de posts sobre o que tenho instalado no iPhone. O primeiro post é sobre jogos de Xadrez, hobby que estou afastado a um bom tempo.

O Chess Puzzler traz 200 problemas de xadrez, para você resolver enquanto espera no consultório médico ou para momentos de tédio. Além disso, o aplicativo permite 2 pessoas jogarem.
Continue lendo →


Extensões para o Safari 5

24 de julho de 2010 ~ Comente! ~ Tags:, ,

A guerra dos browsers continua: a versão 4 do Firefox já saiu em fase beta - com interface parecida com o Chrome, eu diria - mas o que me motivou escrever esse post foram as extensões do Safari 5. Sim, extensões como as dos outros browser e antes tarde do que nunca. Vamos as preferidas:


Página 2 de 31‹ Anterior123456Próximo ›Último »

Últimos textos do blog

Tagcloud

abraweb acadêmico actionscript ajax apache apple arteccom asp autosimulado backup benchmark beta bh blogosfera bookmarklet bookmarklets brasil browser censura chucknorris cms codestacker concurso crítica css dashboard deployment desenvolvimento design dicas divinópolis dotmac download dreamhost economia empreendedorismo empreendorismo encontro estatísticas extreme programming feedburner firefox fireworks flash flickr ftp game git globo gmail golive google greasemonkey guerrilha hack host howto htaccess html humor ie inss internet banking iphone ipod is® javascript jquery layout leopard linux listas live locomotive mac meme microsoft miguxês minasonrails mod_rails mp3 msn mysql off tropic opensocial opera orkut oscommerce parser passenger pc personalidade pesquisa php plugin plugins pog portfolio produtividade publicidade rails refurbished regex resenha review ria rss ruby rádio safari sandbox screencast screensaver script.aculo.us seo shoutcast silverlight software spam startup stevejobs suporte swf switch são paulo teste textmate trabalho tumblelog tumblr tutorial twitter ui uml usabilidade validação viral wallop web2.0 webalizer webdesign webdevelopment webkit webmail webmobile webobjects webstandards windows wordpress xml yahoo youtube

Veja todos os textos →