Φανταστείτε πως έχετε ένα blog στο οποίο θέλετε να επιτρέπετε σε κάθε χρήστη σας να γράφει άρθρα ελεύθερα. Σε αυτή την περίπτωση όμως ίσως να μην είστε σίγουροι για το ποιος είναι αυτός που γράφει το άρθρο και τι πραγματικά θέλει να προβάλει. Με το tutorial αυτό θα σας παρουσιάσουμε ένα απλό και γρήγορο τρόπο για να φιλτράρετε τα άρθρα και να τα απαλλάσσεται από λέξεις που ίσως να μην πρέπει να προβάλλονται δημοσίως.
function wp_article_filter($article) { $replace = array( // 'Λέξη που πρέπει να αντικατασταθεί' => 'Η λέξη που θα αντικαταστήσει την προϊγούμενη' 'old-word' => 'new-word', 'make me link' => '<a href="#">make me link</a>' ); $article = str_replace(array_keys($replace), $replace, $article); return $article; } add_filter('the_content', 'wp_article_filter'); add_filter('the_excerpt', 'wp_article_filter');
Αρχίζουμε με τη δημιουργία της συνάρτησης wp_article_filter η οποία κάνει όλη τη δουλειά, και στη συνέχεια την εκτελούμε μέσα από δύο φίλτρα, το φίλτρο the_content που ενεργοποιείτε πριν εμφανιστεί το άρθρο μας στο τελικό χρήστη και το φίλτρο the_excerpt που ενεργοποιείτε πριν εμφανιστεί το “απόσπασμα” του άρθρου στον τελικό χρήστη.
Η συνάρτηση με τη σειρά της, δημιουργεί τη μεταβλητή $replace και αποθηκεύει μέσα ένα πίνακα με όλες τις λέξεις που θέλουμε να αντικαταστήσουμε στη θέση του κλειδιού κάθε εγγραφής, και τις λέξεις που θα αντικαταστήσουν τις υπάρχουσες λέξεις στη θέση της τιμής κάθε εγγραφής του πίνακα.
Στη συνέχεια με τη συνάρτηση της PHP str_replace() ολοκληρώνετε η αντικατάσταση των λέξεων και τέλος επιστρέφουμε πίσω στα φίλτρα το επεξεργασμένο κείμενο.
gnorimies
17 Νοεμβρίου 2011 | 11:51 | Σχόλιο |Έξυπνο κόλπο, θα το δοκιμάσω