Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Wordpress plugin i rewrite

[es] :: PHP :: Wordpress plugin i rewrite

[ Pregleda: 2199 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

S A J A
Beograd

Član broj: 226539
Poruke: 1907
*.static.sbb.rs.



+421 Profil

icon Wordpress plugin i rewrite27.04.2016. u 10:07 - pre 97 meseci
Napravio sam wp plugin koji se aktivira preko shortcodea.
I onda korisnik taj shortcode stavi na neku stranicu, na primer bz i dobije se www.imesajta.com/bz.
Sad bih hteo da "preuzmem" sve što se iza te adrese kuca.
Dakle ako neko ukuca www.imesajta.com/bz/nesto da ne dođe poruka da stranica ne postoji nego da dobijem nešto nalik na www.imesajta.com/bz?abc=nešto
Sve sam živo i mrtvo probao ali ne uspevam.
Evo koda:

Code:
add_action( 'init', 'custom_rewrite' );
function custom_rewrite(){
    add_rewrite_rule(
        '^bz/([^/]*)/?$',
        'index.php/bz?abc=$matches[2]',
        'top' );
}


Pretpostavljam da je problem što pokušavam da rewritujem url adresu koja je već "permalinkovana".

Dakle, www.imesajta.com/bz/ je parmalink od stranice na kome je shortcode od plugina. E pa ja bi da preuzimam dalje sve što se kuca u URL-u.

Da li je ovo uopšte moguće?
 
Odgovor na temu

S A J A
Beograd

Član broj: 226539
Poruke: 1907
*.static.sbb.rs.



+421 Profil

icon Re: Wordpress plugin i rewrite27.04.2016. u 23:43 - pre 97 meseci
Uspeo sam da rešim, pa ako nekome koristi, evo rešenja:

Code:
function custom_rewrite($rules){
    global $wp_rewrite;
    $new_rules = array(
        'bz/([^/]+)/?$' => $wp_rewrite->index . '?pagename=bz&clanak=' . $wp_rewrite->preg_index( 1 ),
    );
    return $new_rules + $rules;
}
add_filter( 'page_rewrite_rules', 'custom_rewrite' );

function query_vars( $vars  ){
    $vars[] = 'clanak';
    return $vars;
}
add_filter( 'query_vars', 'query_vars' );
 
Odgovor na temu

[es] :: PHP :: Wordpress plugin i rewrite

[ Pregleda: 2199 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.