Ήρθα στην δύσκολη να αντιμετωπίσω τα άσχημα ερωτηματικά σε κομμένες λέξεις να εμφανίζονται και εδώ αλλά και άλλη δουλειά μου, το μόνο που έβρισκα ήταν ότι εφταιγε η κωδικοποίηση της βάσης δεδομένων. Ότι θα πρέπει να είναι UTF-8, general_ci και άλλα διάφορα τα οποία δεν μου έδωσαν λύση. Τελικά μετά από συμβουλή ενός καλού φίλου άλλαξα τον τρόπο που εμφανίζονται τα αποσπάσματα των κειμένων από αριθμό γραμμάτων σε αριθμό λέξεων, η οποία λύση και έγινε αποτέλεσμα.

Ο κώδικα που θα πρέπει να μπει στο functions.php είναι:

 

function excerpt($limit) {
    $excerpt = explode(' ', get_the_excerpt(), $limit);
    if (count($excerpt)>=$limit) {
        array_pop($excerpt);
        $excerpt = implode(" ",$excerpt).'...';
    } else {
        $excerpt = implode(" ",$excerpt);
    }
    $excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
    return $excerpt;
}

function content($limit) {
    $content = explode(' ', get_the_content(), $limit);
    if (count($content)>=$limit) {
        array_pop($content);
        $content = implode(" ",$content).'...';
    } else {
        $content = implode(" ",$content);
    }
    $content = preg_replace('/\[.+\]/','', $content);
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]>', $content);
    return $content;

και αντί για the_excerpt() καλείτε το echo excerpt(20); για 20 λέξεις

ενώ αντίστοιχα the_content() καλείτε το echo content(20); για 20 λέξεις