Wordpress

De Pontão Nós Digitais
Revisão de 09h42min de 23 de abril de 2014 por Felipecabral (discussão | contribs)

Wordpress.png

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.

Problemas Frequentes

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/

Alocação e limite de memória

Corrigindo o erro ‘Allowed memory size Exhausted’ no WordPress. Se a mensagem abaixo aparecer:

 Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in …

Como o próprio erro menciona, o problema aconteceu pois o limite de memória do servidor (32 MB) foi alcançado, faltando assim memória disponível para carregar corretamente os arquivos do sistema. Isso normalmente ocorre quando temos muitos plugins ativos, consumindo a memória do servidor. Tal erro pode vir a acontecer também quando o usuário estiver usando plugins em excesso em sua instalação WordPress.

Mas tudo bem, caso enfrente este problema, siga uma das duas dicas abaixo, uma delas resolverá seu problema!

  • Dica 1 – Método mais simples:

Adicione a linha abaixo no arquivo /wp-config.php

 define(‘WP_MEMORY_LIMIT’, ’64M’);
  • Dica 2 – Método mais longo:

Adicione a linha abaixo no arquivo /wp-includes/cache.php imediatamente após a abertura da tag <?php :

 ini_set(‘memory_limit’,’64M’); // set memory to prevent fatal errors

Depois disso, crie um arquivo .htaccess com o código abaixo e o insira na pasta wp-includes:

 # set memory limit for cache.php php_value memory_limit 64M

Finalmente, crie um arquivo php.ini e o coloque também no diretório wp-includes:

 ;; set memory limit for cache.php memory_limit = 64M

E pronto.. salve tudo, faça o upload dos arquivos e tente novamente entrar no admin de seu site.

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.

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.
  • Esse plugin estabelece uma base de gerenciamento de arquivos rica dentro do wordpress para além do já conhecido gerenciador de mídia.

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.