问题
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>'; } }
}
回答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;
来源:https://stackoverflow.com/questions/32007841/wordpress-how-can-i-get-the-full-content-of-a-post-with-the-html-tags-unstri