3

我正在使用带有 qtranslate 插件的网站使用 WordPress,并且我正在尝试在每个帖子中显示语言标志。

对于我在每篇文章中使用的每种语言,Qtranslate 将 html 标记插入到内容和标题中,例如“!--:en-->”

所以我需要一个条件来检查这些html标签中的哪些包含在内容中,这样我就可以打印特定的标志

像这样的东西:

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

1 回答 1

12

很简单的添加<?= apply_filters('the_content', $content); ?>

谷歌上有很多关于这个的参考。

编辑 所以在这种情况下:

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

echo $content;
于 2015-08-15T10:55:53.087 回答