(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

Read More

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>'; } }
}

Related posts

2 comments

  1. 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;
    
  2. 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 ;
    

Comments are closed.