J'ai essayé de filtrer uniquement le texte dans get_the_content
pour ma page d'accueil, mais cela inclut également mon shortcode, car dans cette première page, la première ligne de la carte google map, la zone de texte de la deuxième ligne, j'utilise un créateur de page visuel composer.
Mon code
$content = get_the_content();
$content = apply_filters('the_content', substr(get_the_content(), 0, 60) );
$content = str_replace(']]>', ']]>', $content);
echo $content
Mon résultat
[vc_row] [vc_column] [vc_gmaps link = ”# E-8_JTNDaWZyYW1lJTIwc3Jj
capture d'écran
Sur la base de votre commentaire expliquant clairement ce que vous souhaitez atteindre, il semble que vous souhaitiez afficher les 60 premiers caractères de votre message sans inclure les codes abrégés .
Pour ce faire, vous pouvez utiliser la fonction strip_shortcodes()
. Réécrit avec cela, votre code ressemblera à ceci:
$content = strip_shortcodes(get_the_content());
$content = apply_filters('the_content', substr($content, 0, 60) );
$content = str_replace(']]>', ']]>', $content);
echo $content;
Nous ne faisons qu'exécuter le contenu (de get_the_content()
) à strip_shortcodes()
avant d'appliquer les filtres Wordpress sur les 60 premiers caractères.
Selon ce que vous voulez réaliser et si vous comptez sur un autre plugin pour modifier ce contenu à votre place, vous pouvez également ignorer l'appel apply_filters()
. Dans ce cas, il vous suffit de définir $content
sur la substr()
que vous voulez avoir.