web-dev-qa-db-fra.com

Ligne en extrait et max 5 lignes

Je fais un site de poésie. J'aimerais pouvoir afficher mon texte ligne par ligne (max 5) pendant qu'il met tout en continu.

Résultat de la recherche:
Ligne 1
Ligne 2
Ligne 3
Ligne 4
Ligne 5

Sur mon extrait, je reçois ceci:
Ligne 1 Ligne 2 Ligne 3 Ligne 4 Ligne 5

Pouvez-vous me donner une piste à suivre?

Désolé, je suis français et mon anglais est aidé par google translate;)

MODIFIER

Poésie originale:

Jour et nuit
Du Nord au Sud
D’Est en Ouest
En France, en Europe
Inlassablement,
Ils transportent des marchandises.

Extrait:

Jour et nuit du Nord au Sud de l’Est en Ouest, en France, en Europe, Inlassablement, Ils transportent des marchandises.

J'aimerais :

Jour et nuit
Du Nord au Sud
D’Est en Ouest
En France, en Europe
Inlassablement, [...]

1
user3583085

Si vous tapez vos poètes comme ceci dans l'éditeur et les séparez par de nouvelles lignes:

C'est une phrase

Ceci est une autre phrase

Ensuite, vous pouvez les diviser par une nouvelle ligne, puis les renvoyer au début. Vous pouvez le faire en utilisant le filtre get_the_excerpt. Cela va dans le fichier functions.php de votre thème:

apply_filters( 'get_the_excerpt', 'divide_by_newline' );
function divide_by_newline() {
    // Get the content of the poet
    $content = get_the_content();
    // Let's trim the excerpt by default value of 55 words
    $content = wp_trim_words( $content , 55, '...' );
    // Check if it's empty
    if( $content ) {
        // Divide the poets by new line 
        $content_array = explode( "\n", $content );
        // Store 5 of them into a string
        foreach( $content_array as $key=>$phrase ) {
            if( $key < 6 ) {
                $excerpt .= '<span class="poet-excerpt">'.$phrase.'</span>';
            }
        }
    } else {
        $excerpt = '';
    }
    // Return the data
    return $excerpt;
}

Maintenant, la structure de votre extrait sera comme ceci:

<span class="poet-excerpt">This is a phrase</span>
<span class="poet-excerpt">This is another phrase</span>

Nous n'avons pas encore fini. Vous devez changer la vue par défaut de vos étendues. Par défaut, un span est un élément en ligne, cela signifie qu'ils ne feront pas de nouvelle ligne. En utilisant ce morceau de CSS, nous les faisons se comporter comme des blocs:

.poet-excerpt{
    display:block;
}

Vous pouvez facilement ajouter ceci en vous dirigeant vers Appearance > Customizer > Custom CSS sans modifier votre style.css.

Mais je dois mentionner que cela ne fonctionne bien que si vous avez un poète. Cela ne fonctionne pas pour d'autres extraits.

Terminé. Le code est aussi de la poésie!

0
Jack Johansson

Une autre façon d’examiner la question est que l’extrait est correct et que la présentation de votre message est erronée.

Vous devriez mettre chaque ligne du poème sous forme de paragraphe, comme si vous écrivez du texte normal, cela devrait donner un extrait de plusieurs lignes. Vous devez maintenant appliquer des modifications CSS à votre thème afin d’éliminer le remplissage et les marges entre les paragraphes. Le plus gros défi consiste à pouvoir identifier les messages auxquels appliquer ce style.

Une approche plus facile à mettre en œuvre pourrait consister à ajouter un style CSS à l'éditeur lui-même, ce qui vous permettra de marquer qu'un "style de poème" doit être appliqué à un paragraphe spécifique.

ceci http://www.wpbeginner.com/wp-tutorials/how-to-add-custom-styles-to-wordpress-visual-editor/ semble être un guide relativement facile à suivre et/ Ajouter une classe CSS à la liaison dans l'éditeur TinyMCE est plus pertinent.

Le défi de la deuxième approche consiste à placer toutes les différentes parties CSS à leur place, et il est évident que le choix du format de chaque paragraphe nécessiterait davantage de travail manuel. Un autre problème que vous pouvez rencontrer est le style de l'extrait lui-même, s'il est important pour vous, car le code de génération d'extrait supprime la mise en forme.

Si vous décidez d’aller dans ce sens, tronquer un extrait de 5 lignes au maximum devient une tâche relativement facile qui mérite sans doute une question en soi;)

1
Mark Kaplun