Wordpress
O Wordpress, assim como o Drupal ou Joomla, é um CMS Framework (Content Management System = Sistema de Gerenciamento de Conteúdo). Entretanto seu uso e configurações podem assumir formas infinitamente diversas. Para quem quer desenvolver com esse framework é recomendado a leitura da Documentação do Desenvolvedor oficial.
Estrutura
Filtro de HTML
Para posts e resumos (excerpts) o wordpress, na maioria de suas versões, costuma trazer códigos e funções que filtram o html ou php colocado pelo usuário nas caixas de edição de texto ou comentários. Para manipular isso, procure pelo arquivo wp-includes/kses.php. Nele você vai encontrar o seguinte trecho:
function kses_init_filters() { // Normal filtering. add_filter('pre_comment_content', 'wp_filter_kses'); add_filter('title_save_pre', 'wp_filter_kses'); // Post filtering add_filter('content_save_pre', 'wp_filter_post_kses'); add_filter('excerpt_save_pre', 'wp_filter_post_kses'); add_filter('content_filtered_save_pre', 'wp_filter_post_kses'); }
O código acima filtra todo tipo de html, desde embeds até outros tipos de configuração. Comente o código se você quiser liberar isso.
function kses_init_filters() { // Normal filtering. add_filter('pre_comment_content', 'wp_filter_kses'); add_filter('title_save_pre', 'wp_filter_kses'); // Post filtering //add_filter('content_save_pre', 'wp_filter_post_kses'); //add_filter('excerpt_save_pre', 'wp_filter_post_kses'); //add_filter('content_filtered_save_pre', 'wp_filter_post_kses'); }
Fonte: http://www.kavdesign.net/blog/coding/how-to-disable-wordpress-html-filter-for-posts-and-pages/
Configurações Essenciais
- Funções e Capacidades (relativas ao nível de usuários)
- Permissões de Arquivos
Temas (Templates)
O Wordpress possui uma quantidade bastante grande de temas, tanto comerciais quanto gratuítos. Abaixo algumas indicações de onde encontrá-los.
- Repositório de temas homologados - http://wordpress.org/themes/
- One Design - http://www.onedesigns.com
Shortcode API
É uma forma de fazer com que nas postagens e páginas estáticas se possa fazer [a_macro opt1=123 op2="asd"] ou [a_macro pt1=123 op2="asd"]Conteúdo[/a_macro] e ele aplique uma função relacionada que retorne o código que se quer.
Plugins
O Wordpress possui uma infinidade de plugins para as mais diferentes ações. Você pode acessá-los através da página de busca onde encontrará documentação visual sobre eles ou diretamente pelo repositório SVN
Artigos Importantes
- 10 Erros mais comuns em plugins WP - Chama atencao para questoes de organizacao e seguranca. Em especial, sobre adicionar codigo JS ou CSS com as funções corretas, SQL injection e aproveitamento das BDs nativas.
Plugins Recomendados
- User Access Manager - Gerencia o acesso aos posts, páginas e arquivos. Você cria um "user group", registra os usuários nele e controla o acesso desse grupo.
- User Role
- Members
- Sexy Plugin
- Askimet
- Restrict Categories
- Press Permit Core
- Restricted Site Access
- Form Maker - Excelente plugin para fazer formulários. Muito customizável, dá pra fazer pesquisas, formulários de contato, etc. O form pode ser instanciado num simples post e os dados podem ser exportados a partir de uma planilha ou .csv. Entretanto, na versão gratuita, tem limitações.
- Ninja Form
- Rich Text Excerpts - Habilita uma caixa de edição para resumos de posts. Você pode customizar os resumos de um modo fácil e rápido.
Inside Plugins
- Escrevendo um Plugin - Um apanhado geral de como se faz um plugin. Basicamente é preciso um único arquivo .php na pasta plugin ou um diretorio com um arquivo dentro de mesmo nome e extensão .php. No arquivo, somente o nome é necessário;
<?php /* Plugin Name: Plugin Mínimo */ ?>
O resto é adicionado segundo necessidade.
- Hello Dolly
Vem com o wp, arqivo unico bem simples.
- post-google-map
Deu pau por causa de uma variável.
- Ushahidipress
Carrega alguma postagem externa de ushahidi na postagem que se está realizando.
Rodei como plugin depois de renomear a pasta para mapasdevista e o plugin.php para mapasdevista.php. Só permitiu criar um mapa como vinculada a uma página estática. Talvez trabalhar nele para permitir ser colocado como um Shortcode com as dimensões que se quiser colocar.