Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

 

Σε ένα wordpress έχω διάφορα άρθρα που περιέχουν code snippets. Αυτά μπαίνουν σε ένα <pre> tag.

 

Το πρόβλημα είναι πως στο RSS feed τα κενά και οι νέες γραμμές σβήνονται με αποτέλεσμα να χαλάει το <pre> tag και ο κώδικας που είναι μέσα είναι πρακτικά αδύνατο να διαβαστεί.

 

Ξέρετε αν υπάρχει κάποιο plugin που να διορθώνει αυτό το πρόβλημα;

Δημοσ.

Δεν είναι θέμα μόνο στο <pre>, το WordPress γενικά αφαιρεί τις νέες γραμμές στο RSS feed.

 

Ένα hack που σκάρωσα και δουλεύει, είναι το παρακάτω:

 

Μέσα στο pre, εκεί που θέλω να αλλάξει γραμμή, γράφω /* break */ και μετά με φίλτρα το αφαιρώ από το άρθρο μου και το rss, και στη θέση του βάζω <br />

 

Οπότε θα έγραφες μέσα στο pre: π.χ.

><?php /* break */ echo 'hello world'; /* break */ ?>

 

και αυτό θα εμφανίζεται πλέον:

 

>
<?php
echo 'hello world';
?>

 

Απλά βάλε το παρακάτω μέσα στο functions.php του theme σου:

 

 

>
// MW RSS line break
function mw_rssbreak($content) {
global $post;
$content = str_replace( "/* break */", "<br />", $content);
return $content;
}
add_filter('the_content','mw_rssbreak');
add_filter('the_excerpt','mw_rssbreak');
add_filter('the_content_feed','mw_rssbreak');
add_filter('the_excerpt_rss','mw_rssbreak');

Δημοσ.

Καλησπέρα,

 

Το δοκίμασα και δούλεψε!!

Είναι λίγο διαδικασία το να μπαίνει το /* break */ σε κάθε γραμμή, αλλά ίσως κάποια παλαβή function με regular expressions να μπορούσε να το χειριστεί αυτό, αλλά ποιος κάθεται να την γράψει... :-)

 

Σε ευχαριστώ για την απάντηση!

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...