Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

(Wordpress) How can i get the full content of a post with the html tags - unstripped

I'm using WordPress for my site with the qtranslate plugin and i'm trying to display language flags in each post.

Qtranslate inserts html tags to the content and title like "!--:en-->" for each language that i used in each post

So i need a conditional that checks which of these html tags are included in the content so i can print the specific flags

something like this:

function language_pick(){
    $qt_dir = "http://localhost/MY-SITE/wp-content/plugins/qtranslate-xp/flags/";
    $cr_url = "http://".$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
    $en_url = esc_html($cr_url."&lang=en");
    $fr_url = esc_html($cr_url."&lang=fr");
    $it_url = esc_html($cr_url."&lang=it");
    $es_url = esc_html($cr_url."&lang=es");

    $query = get_post(get_the_ID()); 
    $content = apply_filters('the_content', $query->post_content);

    if(get_permalink() != $cr_url) { echo '<a style="margin-left:15px;" href="'.$cr_url.'" /><img src="'.$qt_dir.'gr.png"></a>'; }
    if (strpos($content, '<!--:en-->') === true) {
         if(get_permalink() != $en_url) { echo '<a style="margin-left:15px;" href="'.$en_url.'" /><img src="'.$qt_dir.'gb.png"></a>'; } }
    if(strpos($content,'<!--:fr-->') === true) {
        if(get_permalink() != $fr_url) { echo '<a style="margin-left:15px;" href="'.$fr_url.'" /><img src="'.$qt_dir.'fr.png"></a>'; } }
    if(strpos($content,'<!--:it-->') === true) {
        if(get_permalink() != $it_url) { echo '<a style="margin-left:15px;" href="'.$it_url.'" /><img src="'.$qt_dir.'it.png"></a>'; } }
    if(strpos($content,'<!--:es-->') === true) {
        if(get_permalink() != $es_url) { echo '<a style="margin-left:15px;" href="'.$es_url.'" /><img src="'.$qt_dir.'es.png"></a>'; } }
}
like image 276
CrikoC Avatar asked Oct 24 '25 02:10

CrikoC


2 Answers

Very simply add <?= apply_filters('the_content', $content); ?>

There are loads of references to this on Google.

EDIT So in this case:

$query = get_post(get_the_ID()); 
$content = apply_filters('the_content', $query->post_content);

echo $content;
like image 164
ggdx Avatar answered Oct 26 '25 16:10

ggdx


This simply helped in single post template to render HTML tags as you see in the editor/

$content = apply_filters('the_content', get_the_content());
echo $content ;
like image 33
Rajeev Yadav Avatar answered Oct 26 '25 17:10

Rajeev Yadav