web-dev-qa-db-fra.com

Remplacer le contenu complet par un extrait

Mon thème affiche les posts complets sur la page principale et je souhaite qu'il affiche uniquement le résumé. J'ai essayé de rechercher la balise the_content dans le fichier index.php de mon thème, mais ce n'est même pas là!
Je n'ai pas de home.php ou category.php. J'ai essayé de chercher dans the_content toute mon installation wordpress et les seuls endroits où je pouvais le trouver se trouvent dans page.php. Même en le changeant, cela ne fonctionne pas vraiment.

Les autres endroits où je l'ai trouvé dans mes formats de thème (image.php, audio.php ...), mais le modifier ici fait afficher le résumé même lorsque vous cliquez dessus et que vous vous trouvez dans le message.

Mon fichier index.php a ceci:

<?php if (have_posts()) : while (have_posts()) : the_post(); $format = get_post_format();  ?>

  <?php if($format == ''): ?>

    <?php get_template_part('library/functions/theme/formats/standar'); ?>


  <?php else: ?>

    <?php get_template_part('library/functions/theme/formats/'.$format); ?>

  <?php endif; ?>

<?php endwhile ?>

Dois-je faire quelque chose de spécifique pour que cela fonctionne?

1
hyperexpert

Décidez de the_excerpt() ou the_content() avec une condition: is_singular().

Vous pouvez utiliser un plugin et filtrer the_content en fonction du type de page en cours: archive ou singulier. Mais vous pouvez aussi l'utiliser dans votre thème.

add_filter( 'the_content', 't5_replace_content_with_excerpt', 100 );

/**
 * Return excerpt if we are not on a singular post view.
 *
 * @param  string $content
 * @return string
 */
function t5_replace_content_with_excerpt( $content )
{
    if ( is_singular() )
    {
        return $content;
    }
    // remove our filter temporarily.
    // Otherwise we run into a infinite loop in wp_trim_excerpt().
    remove_filter( 'the_content', __FUNCTION__, 100 );
    $excerpt = apply_filters( 'the_excerpt', get_the_excerpt() );
    add_filter( 'the_content', __FUNCTION__, 100 );
    return $excerpt;
}

Dans votre thème, trouvez la ligne où vous appelez the_content(). Changez le en:

is_singular() ? the_content() : the_excerpt();
4
fuxia

Avec quel thème travaillez-vous?

Ce morceau de code ici:

<?php get_template_part('library/functions/theme/formats/standar'); ?>

Semble suggérer que votre index.php appelle un template include. Si vous trouvez le fichier correct (probablement situé dans ce répertoire formats/standar) et remplacez l'emplacement où the_content () apparaît avec the_excerpt (), vous devriez voir le chargement des résumés à la place du contenu complet. Cela va modifier un fichier de thème principal qui n’est pas recommandé. Par conséquent, sans en savoir plus sur votre thème et sur le fait qu’il soit écrasable ou non, je vous conseillerais de le faire à vos risques et périls.

0
jhoffmcd