Howto WordPress: Redirecionar para a lista de posts logo após salvar a postagem

Howto: Como redirecionar para a listagem de postagem do WordPress logo após terminar de publicar ou editar um post?

Basta editar o arquivo functions.php e adicionar as seguintes linhas:

[php]

add_action(‘publish_page’, ‘wpmove_redirect_on_page_publish’);
function wpmove_redirect_on_page_publish($post_ID) {
header(‘Location: ‘.get_home_url().’/wp-admin/edit.php?post_type=page’);
exit();
}

add_action(‘publish_post’, ‘wpmove_redirect_on_post_publish’);
function wpmove_redirect_on_post_publish($post_ID) {
header(‘Location: ‘.get_home_url().’/wp-admin/edit.php?post_type=post’);
exit();
}

[/php]

Huawei HG553 Vodafone Station

Recentemente adquiri este equipamento e estou aos poucos aprendendo a mexer. É um modem ADSL, com 4 portas Lan, Wifi, Voip, Server Print, Samba, FTP e Torrent e ainda permite conectar a internet utilizando um modem 3G plugado em uma USB . Muito bom.

Vou estar atualizando este post conforme for descobrindo coisas novas dele.

Referências: http://wiki.bandaancha.st/Huawei_HG553_Vodafone_Station

Colocando sua impressora na rede

A página de configuração de impressora esta presente em todos os firmwares, porém, não aparece no menu de administração.

1. É necessário estar logado como admin, com a senha default que será VF-EShg553 ou admin se você ainda não tiver alterado.

2. Acesse: 192.168.0.1/ippcfg.html

3. Ativamos o servidor de impressão, e colocamos o nome da nossa impressora. Em marca e modelo pode deixar em branco.

Manda salvar e pronto.
4. Depois disso você pode ir no computador conectado pedir para adicionar uma nova impressora de rede, e então no caminho da rede, você informa:  192.168.0.1:631/printers/nome_da_impressora (colocando o nome que você setou no router acima).
5. Após fazer isso, irá solicitar os drivers como uma instalação comum.

Como habilitar o Servidor SAMBA, para conectar um HD ou Pendriver e mapear ele na Rede

Aqui, bem detalhado:
e aqui:

Howto: Criando um contator regressivo e redirecionando para outra página

Técnica utilizada para manter a expectativa da assistência no lançamento de um novo produto. Pelo menos em um de meus empregadores, sempre que fosse lançado algo novo como um sistema, um site, ou seja lá o que e a imprensa estivesse presente, era solicitado um contador desses antes de entrar o serviço no ar.

Veja como é fácil implementar com Jquery:

[php]


[/php]

Depois onde você quer que apareça, basta informar:

[html]

Contagem regressiva para o lançamento

10

[/html]

Simples assim.

Como remover a proteção de documentos Word (.doc)

Sem querer entrar nos méritos do BrOffice e etc..

Mas já se deparou com situações em que alguém lhe envia um documento do Word protegido com uma senha para leitura, ou para edição? É bem comum em formulários produzidos no Word, onde se deseja amarrar os campos que o usuário irá preencher.

Mas, imagine que você queira modificar o conteúdo, e na hora de desproteger o documento ele pede uma senha, a qual você não tem, como fazer? Veja como quebrá-lo se você estiver usando as versões mais recentes do Word:

Se você estiver usando o Office XP ou 2003 ou mair, você pode alterar a exibição para código HTML utilizando o Microsoft Script Editor pressionando a combinação de teclas [Alt] + [Shift] + [F11] .

Procure por Password e você verá um trecho de código semelhante a isso:

<w:DocumentProtection>ReadOnly</w:DocumentProtection>
<w:UnprotectPassword>19E8E61E</w:UnprotectPassword>

Para remover a proteção:
Para remover a proteção, basta apagar essas duas linhas, e após salvar o documento a proteção não existirá mais.

Para remover a senha:
Troque o trecho de código da senha, no axemplo acima: “19E8E61E”, por “00000000”, salve o documento e feche “Script Editor”.

Alternativamente você pode salvar o documento como Página da Web e usar um editor de html.

Fonte: http://www.recipester.org/

Resetando a senha de Root do Mysql

Como sempre esqueço com fazer isso, vou deixar aqui, pra quando eu precisar novamente:

Como resetar a senha de Root do Mysql
===================================

[shell][root@servidor ~]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
mysqld 31792 mysql 3u IPv4 434089 TCP *:mysql (LISTEN)
[root@servidor ~]# kill -9 31792
[root@servidor ~]# /etc/init.d/mysql start
Mysql Started

[root@servidor ~]# mysql
Access denied for user ‘root’@’localhost’ (using password: NO)

[root@servidor ~]# /etc/init.d/mysql stop

[root@servidor ~]# mysqld_safe –skip-grant-tables &

[root@servidor ~]#
[root@servidor ~]# mysql -u root
mysql>
mysql> use mysql;
mysql> update user set password=PASSWORD(“NEW-ROOT-PASSWORD”) where
User=’root’;
mysql> flush privileges;
mysql> quit

NEW-ROOT-PASSWORD above is whatever password you want to set.

[root@servidor ~]# # /etc/init.d/mysql stop
[root@servidor ~]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
mysqld 31792 mysql 3u IPv4 434089 TCP *:mysql (LISTEN)
[root@servidor ~]# kill -9 31792
[root@servidor ~]# fuser -k /usr/bin/mysqld_safe ( in
case you see mysql process is still running )

[root@servidor ~]# vi /root/.my.cnf
[root@servidor ~]# cat /root/.my.cnf
[client]
user=”root”
pass=”NEW-ROOT-PASSWORD”
[root@servidor ~]#

[root@servidor ~]# service mysql restart

[root@servidor ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.21-standard-log

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> quit
Bye
[root@servidor ~]#

[/shell]

Calculando distância entre dois pontos com PHP

Aqui está uma função muito útil, que permite calcular a distância de um ponto A para um ponto B, utilizando as latitudes e longitudes. A função pode retornar a distância em milhas, quilômetros, ou milhas náuticas, vejamos:

 

function distancia($lat1, $lon1, $lat2, $lon2, $unit) {

    $theta = $lon1– $lon2;
    $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
    $dist = acos($dist);
    $dist = rad2deg($dist);
    $miles = $dist * 60 * 1.1515;
    $unit = strtoupper($unit);

    if ($unit == “K”) {
        return ($miles * 1.609344);
    } else if ($unit == “N”) {
        return ($miles * 0.8684);
    } else {
        return $miles;
    }
}

Como usar?

O uso da função é muito simples: Tudo que você precisa fazer é informar a latitude e longitude do ponto A e B na ordem e no final identificar se o resultado será em milhas, quilômetros ou milhas náuticas:

[php]

//Em milhas
echo distancia(32.9697, -96.80322, 29.46786, -98.53506, “m”) . ”  milhas”;

//Em quilômetros
echo distancia(32.9697, -96.80322, 29.46786, -98.53506, “k”) . ”  Km”;

//Milhas Nauticas
echo distancia(32.9697, -96.80322, 29.46786, -98.53506, “n”) . ”  Milhas Náuticas”;

[/php]

Howto: Criando uma metodologia de publicação de popup com WordPress

Olá pessoal, hoje iremos mostrar como fazer um sistema de publicação de banners em popups utilizando o WordPress, mas sem o uso de plugins.

É sei que muita gente odeia popup, e eu sou uma dessas pessoas, porém ao trabalhar para clientes que exigem a utilização desse recurso, torna-se necessário implementar no site.

Antigamente era comum a utilização da técnica de abrir uma janela via Javascript, porém os browsers já a algum tempo possuem mecanismos para bloquear esse tipo de publicidade.

O que se tem usado muito é a utilização de DIV´s, muito comum em sites de comércio eletrônico (aquelas janelinhas com propaganda, que obriga você clicar no fechar).

Vamos ao passo-a-passo, utilizando o WordPress:

1. Crie uma categoria no seu wp-admin, com o nome de popup.

2. Insira um post que será seu popup, faça a inserção da sua imagem normalmente no post, e crie dois campos personalizados logo abaixo do editor, com os nomes de Largura e Altura, e coloque o tamanho em pixel do seu popup.

3. Na sua header.php, você irá acrescentar um javascript, que irá fazer o popup ser fechado.

[js]

[/js]

4. Em sua home.php ou na sua index.php (depende de seu tema), você irá criar o seguinte trecho de código, logo no início, após o get_header():

[php]
< ? $popup=new WP_Query(); $popup->query(‘showposts=1&cat=5’);
while($popup->have_posts()):$popup->the_post();
?>
[/php]

[css]

[/css]

[php]

 

< ?php the_content()?>

< ?php endwhile;?>

[/php]

Explicando: no inicío deste código, criamos um laço do WordPress onde irá mostrar sempre o ultimo post da categoria popup (id=5).

No CSS, criamos uma DIV e configuramos que a sua largura e altura serão os informados no post, nos campos personalizados.

A classe dtopo, é a apenas para colocar um botão de fechar. Os demais são auto-explicativos.

6. Com isso, o laço irá exibir sempre o post publicado, caso não queira mais o popup, basta ir no wp-admin e despublicar o post, simples assim.

Howto: Redirecionando permanentemente um site para um novo domínio

===================================================
Howto: Redirecionando permanentemente um site para um novo domínio
===================================================

Vejamos o problema:

Eu tinha um site hospedado em um domínio X e o cliente me pediu para alterar o domínio para Y.  Sem dúvida essa é uma idéia estúpida, ainda mais quando o site já esta a um bom tempo com o nome de domínio X, pois alterar o endereço de um site sem pensar em todos os usuários que possuem páginas do mesmo em seus favoritos é algo que não deve ocorrer, pois significa perder todos estes antigos usuários.

É possível resolver parcialmente isso realizando um redirecionamento de site, utilizando para isso o status HTTP 301, para identificar que o site mudou permanentemente. Há muitas formas de fazer isso, mas porque não utilizar o Htaccess do Apache, pois a a maioria dos serviços de hospedagem suportam tão configuração. Em primeiro lugar eu tentei isso:

[shell]
RewriteEngine On
RewriteBase /
Redirect 301 / http://novodominio.com.br/
[/shell]

Dessa forma, todas as solicitações para a raiz do antigo domínio serão redirecionadas para a raiz do novo domínio.

Mas ainda temos um problema, ao se tentar acessar algum caminho dentro do domínio antigo ( http://dominioantigo.com.br/caminhoxyz/), muito comum quando se chega ao site através de um buscador, o que aconteceria? Seria exibido um erro 404 (not found), porque o caminho não existe mais.

O que queremos é que se usuário acessar http://dominioantigo.com.br/caminhoxyz/ ele seja redirecionado para http://novodominio.com.br/caminhoxyz/.

Veja como é fácil, basta alterar o Htaccess, assim:

[shell]
RewriteEngine On
RewriteBase /
RedirectMatch 301 (.*)$ http://dominionovo.com.br$1
[/shell]

Com isso em mente e um pouco de conhecimento de .httacces, é possível fazer coisas bem legals, como por exemplo:

[shell]
RewriteEngine On

# Regra para os dias da semana.
# Se o dia atual for maior que 0 (domingo) E menor que 6 (sábado)
RewriteCond %{TIME_WDAY} >0
RewriteCond %{TIME_WDAY} <6

# Verificamos o horário do servidor.
# Se for menor que 8h OU maior que 18h
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0800 [OR]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1800

# Enviamos a requisição para um outro domínio
RewriteBase /
RedirectMatch 301 (.*)$ http://dominoxyz.com.br$1

# Ou então redireciona para um arquivo no mesmo servidor:
# RewriteRule .* opz.php

# Regra para o sábado.
# Se o dia atual for 6 (sábado)
RewriteCond %{TIME_WDAY} =6

# Verificamos o horário do servidor
# Se for menor que 8h OU maior que 12h
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0800 [OR]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1200

# Enviamos a requisição para o outro domínio
RewriteBase /
RedirectMatch 301 (.*)$ http://dominionovo.com.br$1

# Ou então redirecionamos para um outro arquivo no mesmo servidor:
# RewriteRule .* opz.php
[/shell]

Howto: WordPress – Como retornar somente posts com a data de publicação igual a data atual?

Veja o seguinte problema:

“Você cadastra vários posts, com data de publicação futuras, e quer exbir em uma página somente os posts cuja data de publicação seja igual a data atual (do Sistema Operacional).”

É bem simples, basta utilizar essa sintaxe em seu wp_query:

[php]
$hoje = getdate();
query_posts(‘year=’ .$hoje[year] .’monthnum=’ .$hoje[mon] .’day=’ .$hoje[mday] );
[/php]

em um loop, ficaria assim:

[php]
< ?php $hoje = getdate(); $dhoje = new WP_Query(); $dhoje->query(‘year=’.$hoje[year].’&monthnum=’.$hoje[mon].’&day=’.$hoje[mday].’&showposts=1&cat=12′ );
while($dhoje->have_posts()) : $dhoje->the_post();
global $more;
$more = 0;
?>

< ?php the_title(); ?>

< ?php the_content(); ?>

< ?php endwhile; ?>
[/php]

De boa né?

Howto: WordPress: Agrupando posts por mês

Veja como fazer para puxar todos os posts de uma determinada categoria, exibindo em listas agrupadas por meses, assim:

Julho 2010

  • Titulo do post
  • Titulo do post

Junho 2010

  • Titulo do post
  • Titulo do post

Vejamos:

[sourcecode language=”php”]
< ?php $args=array( 'tag' => ‘tag1’,
‘posts_per_page’ => -1,
‘post_status’ => ‘publish’,
‘orderby’ => ‘date’,
‘order’ => ‘DESC’,
‘caller_get_posts’ =>1
);

$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
$ymdate = ”;
while ($my_query->have_posts()) : $my_query->the_post();
$ympost = mysql2date(“M Y”, $post->post_date);
if ( $ympost != $ymdate) {
$ymdate = $ympost;
echo ‘

Artigos do mes: ‘ . $ymdate . ‘

‘;
}
?>

< ?php the_time('F jS, Y') ?>


[/sourcecode]

[sourcecode language=”css”]

[/sourcecode]

[sourcecode language=”php”]

< ?php $args=array( 'cat' => ’12’,
‘posts_per_page’ => -1,
‘post_status’ => ‘publish’,
‘orderby’ => ‘date’,
‘order’ => ‘ASC’,
‘caller_get_posts’ =>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
$ymdate = ”;
while ($my_query->have_posts()) : $my_query->the_post();
$ympost = mysql2date(“F Y”, $post->post_date);
if ( $ympost != $ymdate) {
$ymdate = $ympost;
echo ‘

‘.$ymdate.’

‘;
echo ‘

‘;
} wp_reset_query();
?>
[/sourcecode]

Perfeito!!!