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]