J'ai essayé tellement de combinaisons de PHP pour obtenir WordPress pour générer $ post-> post_content comme texte formaté (par opposition à la mise en forme brute que (C'est cette ligne: echo $ => post_content code> me donne. Ce La combinaison semble être la plus prometteuse, mais elle ne suscite rien. Des idées?
PHP $ Content = apply_filters ("The_Content ', $ S-> post_content); > code>) p>
7 Réponses :
Vous devez ou, comme vous l'avez codé: < / p> echo code> les résultats du
apply_filters code> appel:
merde! Je n'ai pas remarqué que vous l'avez déjà fait dans votre exemple original. Si vous venez de ECHO $ S- S-> POST_Content; code> Obtenez-vous la mise en forme brute du message?
OUI-ECHO $ S-> POST_Content me donne la mise en forme première, mais faisant écho au filtre.
Désolé si cela est trop basique, mais cela pourrait vous aider si vous avez fait écho au contenu:
<?php $content = apply_filters('the_content', $s->post_content); echo $content; ?>
Comment ajoutez-vous le filtre? Vous pouvez utiliser add_filter qui spécifie une fonction qui recevra $ de contenu. Vous pouvez effectuer tout filtrage que vous avez besoin via cette fonction. P>
http://codex.wordpress.org/plugin_api#create_a_filter_function P>
Cela ressemble à une étape dans la bonne direction ... Je n'aime pas le filtre nulle part, simplement l'appliquer. Comment puis-je l'ajouter dans ce cas? Merci!
Vous devriez être capable de simplement l'ajouter via les fonctions de votre thème.PHP
Je viens de regarder votre message original et vous pouvez également utiliser SETUP_POSTDATA ($ S) à l'intérieur de vous pour la boucle et utiliser the_content (). Vous pouvez voir que c'est utilisé ici - Codex.WordPress.org/template_tags/...
hmm .. Pour une raison quelconque, je peux obtenir du contenu à afficher lorsque j'ai enlevé la ligne supérieure et la ligne de fin. P>
Peut-être que le problème est l'appel de Query_posts. Et pas l'appel Apply_Filters (). p>
Je peux basculer en mode d'affichage selon que j'utilise ou non, apply_filters () ou non. Ce que je crois, c'est ce que vous êtes après. p>
faire juste PHP Echo $ S-> post_content; ?> Donne-moi un contenu non formaté (les balises P et toutes les formatage sont dénudées) afin que j'essaie d'utiliser "The_Content_ filtre pour récupérer du texte riche.
Désolé, je n'étais pas clair. J'ai supprimé l'appel à Query_posts () .. et cela a résolu le problème pour moi. J'ai pu utiliser the_content_filter avec le résultat souhaité après cela. C'est pourquoi je voulais voir si vous pouvez obtenir les mêmes résultats que je peux en modifiant ou en supprimant l'appel à Query_posts ().
J'ai initialement pensé que Query_posts pourrait être le problème. Si vous le supprimez, cela résout le problème, je pense que l'explication la plus probable est que le global $ est rempli de données «Autres» et l'un des filtres accrochés est de lire le contenu de la variable globale. WordPress semble faire cette amende, il s'agit probablement probablement d'un fichier plugin / fonctions inscrit mal écrit au défaillance. La lecture de la DB provoque toujours des problèmes. Utilisez l'API de WordPress - il est plus facile et il vous assurera que les globaux nécessaires sont remplis et les filtres / actions nécessaires sont tirés.
Aussi loin que je sache, la fonction qui applique la principale "formatage" au corps du contenu est wpautop ( ) . Cette fonction doit être accrochée dans 'The_Content' par WordPress. La fonction fait des choses gênantes (comme le code d'incorporation en désaccordé) et il y a beaucoup de plugins qui le décrocheront de la pile de filtres. Essayez de remplacer votre ligne: avec p> Si cela aide alors que vous avez probablement un problème de la WPautop se dégage quelque part. p> p>
En vérifiant tous les Add_Filter ('the_Content ", ... CODE> CODE, a trouvé un fichier plugin ancien" WordPress associé "qui utilise un code de syntaxe incorrect. Par cocher le site Web du plugin, il suffit de prendre en charge jusqu'à 4. X WordPress, maintenant le site mis à jour sur 5.x. Désactivez le plugin résolu le problème. Une chose étrange est qu'il n'y a pas d'erreur trouvée dans le journal du serveur!
MAN86,
Je vois que vous obtenez les données de poste via $ wpdb-> get_results (). La chose à ce sujet est que les données sont retournées brutes, vous devez donc "la préparer" avant de pouvoir utiliser des fonctions postales communes telles que The_Content () (qui retournera le contenu déjà formaté, comme si vous l'aimeriez ). P>
Que diriez-vous d'essayer ceci (voir les commentaires sur le code): p> référence: http://codex.wordpress.org/class_reference/wpdb#examples_5 (" Obtenez toutes les informations sur les brouillons par utilisateur 5 ") P> Merci, j'espère que cela aide! p> vq. p> p>
J'ai eu le même problème. Il s'est avéré qu'il y avait une fonction dans mon thème, qui a également filtré Vérifiez votre thème et vos plugins pour des fonctions qui filtrent le contenu code>, mais y a eu un bogue, ce qui entraîne le filtre de retourner une chaîne vide. P>
the_content code>. Dans le texte sublime 2, par exemple, vous pouvez faire une "recherche dans des fichiers" rapide avec ⌘ / ctrl kbd> + ⇧ kbd> + f kbd> pour trouver des coupables possibles. p>
Je ne sais pas pourquoi vous n'obtenez aucune sortie, le même code exact fonctionne bien sur mon installation WP.