Mude a lesma da “página” na paginação

12

pergunta simples. Quando a paginação é ativada, o URL é alterado para "site.com/page/2" . Para o meu site, isso deve ser "site.com/paggetto/2" .

Como posso alterar essa regra de reescrita? Eu também quero alterar "author" e outras variáveis.

    
por DarkGhostHunter 01.07.2012 / 04:34

2 respostas

15

Para alguns sites em alemão, uso o seguinte plug-in para traduzir page para seite (a palavra em alemão para page ):

<?php # -*- coding: utf-8 -*-
/**
 * Plugin Name: T5 Page to Seite
 * Description: Ersetzt <code>/page/</code> durch <code>/seite/</code>.
 * Author:      Thomas Scholz <info@toscho.de>
 * Author URI:  http://toscho.de
 * License:     MIT
 * License URI: http://www.opensource.org/licenses/mit-license.php
 */

if ( ! function_exists( 't5_page_to_seite' ) )
{
    register_activation_hook(   __FILE__ , 't5_flush_rewrite_on_init' );
    register_deactivation_hook( __FILE__ , 't5_flush_rewrite_on_init' );
    add_action( 'init', 't5_page_to_seite' );

    function t5_page_to_seite()
    {
        $GLOBALS['wp_rewrite']->pagination_base = 'seite';
    }

    function t5_flush_rewrite_on_init()
    {
        add_action( 'init', 'flush_rewrite_rules', 11 );
    }
}

Observe que você libera as regras de reescrita somente na ativação . Você precisará de uma regra de reescrita separada em seu .htaccess para redirecionar os URLs antigos para os novos:

RedirectMatch Permanent ^/(.*)/page/(.*) /$1/seite/$2
    
por fuxia 01.07.2012 / 13:52
14

Descobri:

function re_rewrite_rules() {
    global $wp_rewrite;
    // $wp_rewrite->author_base = $author_slug;
//  print_r($wp_rewrite);
    $wp_rewrite->author_base        = 'autor';
    $wp_rewrite->search_base        = 'buscar';
    $wp_rewrite->comments_base      = 'comentarios';
    $wp_rewrite->pagination_base    = 'pagina';
    $wp_rewrite->flush_rules();
}
add_action('init', 're_rewrite_rules');

Pelo menos, isso fará o trabalho.

    
por DarkGhostHunter 01.07.2012 / 05:40