WordPess plugin και SEF URL’s

18 Μαΐ 2011 | Wordpress

Δεν επιτρέπονται τα σχόλια.


Κατά τη δημιουργία ενός plug-in για ένα πελάτη μου προέκυψε η ανάγκη να μεταφέρω κάποιες μεταβλητές μέσω του URL της ιστοσελίδας, αλλά με φιλικό προς τις μηχανές αναζήτησης τρόπο. Σε αυτό το άρθρο σας παρουσιάζω τη λύση στο πρόβλημα μου.

Το plug-in που δημιούργησα χρειαζόταν να μεταφέρει κάποιες πληροφορίες μέσω της διεύθυνσης της σελίδας με αποτέλεσμα να μην παράγει φιλικά προς τις μηχανές αναζήτησης URL. Τα URL που δημιουργούσε το πρόσθετο μου έμοιαζαν κάπως έτσι :

http://www.client-site.ext/?param1=value1&param2=value2

Και η μορφή που εγώ ήθελα να έχει το URL μου είναι η ακόλουθη:

http://www.client-site.ext/value1/value2

Έτσι αναγκάστηκα να λερώσω λίγο τα χέρια μου με κώδικα και ο κώδικας που ακολουθεί κάνει ακριβώς αυτό που ήθελα.

Αυτό που πρέπει να κάνετε είναι να προσθέσετε τον κώδικα που ακολουθεί στο αρχείο functions.php

add_filter('rewrite_rules_array','wp_createRewriteRules');
add_filter('query_vars','wp_createQueryVariables');
add_filter('init','flushRewriteRules');

// Θυμηθείτε να καλέσετε την συνάρτηση flush_rules() όταν προσθέτετε νέα Rewrite Rules
function flushRewriteRules()
{
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

// Δημιουργία νέων Rewrite Rules
function wp_createRewriteRules($rules)
{
    $newrules = array();
    $newrules['(όνομα_plugin)/([a-zA-Z0-9_\-]*)/([a-zA-Z0-9_\-]*)$'] = 'index.php?pagename=$matches[1]&var1=$matches[2]&var2=$matches[3]';
    $allrules = $newrules + $rules;
    return $allrules;
}

// Δήλωση των μεταβλητών στο WordPress για να τις αναγνωρίζει
function wp_createQueryVariables($vars)
{
    array_push($vars, 'id');
    array_push($vars, 'var1');
    array_push($vars, 'var2');
    return $vars;
}

Από εδώ και πέρα, για να προσπελάσετε τις μεταβλητές σας, μέσα από το plugin εκτελέστε τον ακόλουθο κώδικα:

    $var1 = $wp_query->query_vars['var1'];
    $var2 = $wp_query->query_vars['var2'];

Περισσότερα για τον CorfuGmr

CorfuGmr

Ονομάζομαι Νίκος και ασχολούμαι με το internet και την κατασκευή ιστοσελίδων από το 1998. Σήμερα, μετά από 12 χρόνια γεμάτα με ενημέρωση, εκπαίδευση και εξάσκηση έχω ανεβάσει σε ένα άλλο επίπεδο τις γνώσεις μου και τις τεχνικές μου. Στα άρθρα μου προσπαθώ να σας δείξω τα μικρά, αλλά σημαντικά πράγματα που με έχουν ανεβάσει σε αυτό το επίπεδο.








Σχόλια

Δεν υπάρχουν σχόλια ακόμα.

Συγνώμη, τα σχόλια για αυτό το άρθρο είναι κλειστά.



^
Top
css.php