Como configurar a estrutura permalink via functions.php

8

Estou configurando uma rede Wordpress e queria que todos os novos sites tivessem a mesma estrutura de permalink (por exemplo, "/% year% /% monthnum% /% postname% /"). Eu estou querendo saber se isso é possível fazer através de ganchos ou hacks em functions.php, sem ter que confiar nos usuários para escolher essa estrutura.

    
por Tomas Buteler 15.10.2011 / 23:19

2 respostas

14

Você pode definir a estrutura do permalink chamando o método set_permalink_structure() do objeto global $wp_rewrite .

add_action( 'init', function() {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
} );

Aqui está um PHP < 5.3 versão do código, caso você esteja recebendo erros.

function reset_permalinks() {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%postname%/' );
}
add_action( 'init', 'reset_permalinks' );
    
por soulseekah 16.10.2011 / 17:43
1

Resposta anterior não está funcionando. Eu tenho uma solução pura. Pode usar Use este código. Ele funcionará 100%. Obrigado

/**
 * Rewrite set up, when theme activate i mean
 */
if (isset($_GET['activated']) && is_admin()) {
    global $wp_rewrite;
    $wp_rewrite->set_permalink_structure('/%postname%/');
    $wp_rewrite->flush_rules();
}

/**
* Redirect to Permalink setting Page.
* Otherwise Redirect rule will not work Properly.
*/
function redirect_to_permalink() {

    wp_redirect('options-permalink.php');
}
add_action( 'after_switch_theme', 'redirect_to_permalink' );
    
por Saiful Islam 31.08.2017 / 08:01