Wordpress: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Linha 33: Linha 33:
=== Alocação e limite de memória ===
=== Alocação e limite de memória ===


==== [1] erro ‘Allowed memory size Exhausted’ ====
==== [A] erro ‘Allowed memory size Exhausted’ ====


Se a mensagem abaixo aparecer:  
Se a mensagem abaixo aparecer:  

Edição das 15h43min de 23 de maio de 2014

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

[A] erro ‘Allowed memory size Exhausted’

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.

[2] Corrigindo Limite máximo de upload de arquivos

Quando estamos no painel do wordpress, na aba "media", podemos ser surpreendidos com uma mensagem "Maximum upload file size". Para resolver isso, eis alguns caminhos.

1: Arquivo de funções do template

Em alguns casos, basta adicionar essas linhas no function.php do arquivo de template do site em questão:

 @ini_set( 'upload_max_size' , '64M' );
 @ini_set( 'post_max_size', '64M');
 @ini_set( 'max_execution_time', '300' );

2. Crie ou edite o arquivo php.ini

Na maior parte dos casos onde o wordpress está instalado num host compartilhado, é necessário ter um arquivo php.ini no diretório raiz da aplicação. O conteúdo desse arquivo pode ser o seguinte:

 upload_max_filesize = 64M
 post_max_size = 64M
 max_execution_time = 300

3. Metodo htaccess

Abra ou crie o arquivo .htaccess na pasta raiz do diretório da aplicação e coloque dentro dele o seguinte código:

 php_value upload_max_filesize 64M
 php_value post_max_size 64M
 php_value max_execution_time 300
 php_value max_input_time 300

Query Post

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.


Performance

Otimizando wordpress

Segurança

Material de apoio