Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di torejx
    Registrato dal
    May 2005
    Messaggi
    301

    [Wordpress 3] Rewrite url tramite classe WP_rewrite

    Ciao ragazzi,
    sto modificando il template Simplefolio ed ho necessitā di riscrivere gli url delle categorie del portfolio da "portfolio/?pcat=x&nomecat=nome" a "portfolio/x/nome".
    Ho visto che Wordpress usa la classe WP_Rewrite anzichč scrivere le modifiche direttamente nell'.htaccess, quindi ho provato a scrivere questo codice:
    Codice PHP:
    add_filter('rewrite_rules_array','wp_insertMyRewriteRules');
    add_filter('init','flushRules');

    // Remember to flush_rules() when adding rules
    function flushRules(){
        global 
    $wp_rewrite;
           
    $wp_rewrite->flush_rules();
    }

    // Adding a new rule
    function wp_insertMyRewriteRules($rules)
    {
        
    $newrules = array();
        
    $newrules['portfolio/(\d+)/([^/]+)/?$'] = 'index.php?page_id=11&pcat=$matches[1]&catname=$matches[2]';
        return 
    $newrules $rules;

    seguendo l'esempio nella pagina di documentazione, ma digitando l'url riscritto vengo reindirizzato a /portfolio, ovvero mi ignora le variabili pcat e catname.
    Ho provato a sostituire $matches[x] con $x, ma niente..
    Consigli?
    io: "cosa vorresti fare da grande?"
    bambino di sei anni: "il coglione"
    io: "come mai?"
    bambino di sei anni: "perchč ogni volta che passa uno con una bella auto papā dice <<guarda quel coglione che bella macchina che c'ha>>"

  2. #2
    Utente di HTML.it L'avatar di torejx
    Registrato dal
    May 2005
    Messaggi
    301
    Risolto, mancava un'altra funzione per poter aggiungere le variabili in GET all'array query_vars dell'oggetto WP_Query.
    Codice PHP:
    add_filter('query_vars','wp_insertMyRewriteQueryVars');
    // Adding the id var so that WP recognizes it
    function wp_insertMyRewriteQueryVars($vars)
    {
        
    array_push($vars'pcat');
        
    array_push($vars'catname');
        return 
    $vars;

    io: "cosa vorresti fare da grande?"
    bambino di sei anni: "il coglione"
    io: "come mai?"
    bambino di sei anni: "perchč ogni volta che passa uno con una bella auto papā dice <<guarda quel coglione che bella macchina che c'ha>>"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.