(WordPress) Как я могу получить полное содержание поста с HTML-тегами — без ограничений

Я использую WordPress для своего сайта с плагином qtranslate и пытаюсь отображать языковые флаги в каждом посте.

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

0

Решение

Очень просто добавить <?= apply_filters('the_content', $content); ?>

В Google есть множество ссылок на это.

РЕДАКТИРОВАТЬ
Итак, в этом случае:

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

echo $content;
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]