Mudando permalink do wordpress
É.. eu não sabia que o wordpress faz automaticamente..
Mas se por um acaso não fizer ou vc precisar fazer manualmente, o script abaixo lê todos os posts publicados, e escreve a regra htaccess para redicionar do formato year/day/month/post_name para category/post_name
Chega de enrolação, e lá vai o código:
<?php ini_set('display_errors', 1); $mysqli = new mysqli('localhost', 'usuario', 'senha', 'banco'); $sql = "SELECT ID, post_name, DATE_FORMAT(post_date, '%Y/%m/%d') AS data FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' "; $query = $mysqli->query($sql); while( $dados = $query->fetch_object() ) { $sql = "SELECT * FROM `wp_term_taxonomy` JOIN wp_terms ON wp_terms.term_id = `wp_term_taxonomy`.term_taxonomy_id WHERE term_taxonomy_id IN ( SELECT term_taxonomy_id FROM `wp_term_relationships` WHERE object_id = {$dados->ID} ) AND taxonomy = 'category' ORDER BY name ASC LIMIT 1"; $query_cat = $mysqli->query( $sql ); $dados_cat = $query_cat->fetch_object(); $url = $dados->data.'/'.$dados->post_name.'/'; $to = $dados_cat->slug.'/'.$dados->post_name.'/'; echo 'RewriteRule ^'.$url.'$', ' ', $to ,' [NC,R=301,L]<br />'; }
A saída é neste formato:
RewriteRule ^2009/08/14/verificar-se-usuario-ja-existe-no-banco/$ ajax/verificar-se-usuario-ja-existe-no-banco/ [NC,R=301,L]