Можно ли добавить результат условного php в div?

У меня есть этот PHP-код:

<?php if ( $hide_all_info == 0 ) { ?>
<span class="film_meta_wrap">
<div class="film_meta_title"><?php echo the_title(); ?></div>
<div class="film_meta_text"><?php echo $film_meta_info; ?></div>
</span>
<?php } elseif ( $hide_all_info == 1 ) { ?>
<span class="film_meta_wrap"></span>
<?php } ?>

Мне нужно переместить / добавить результат этого if заявление в существующий div внутри текущего элемента цикла вот так:

jQuery( ".film_meta_wrap" ).appendTo( ".arve-embed-container" );

Мой текущий результат, как и ожидалось, но не то, что мне нужно сделать: весь код добавляется независимо от сказанного if оператор, и он также помещает одинаковые промежутки в каждом элементе цикла (т. е. не учитывает цикл, в котором он находится для отдельных сообщений). Имеет ли это смысл? Как бы я получить JQuery, чтобы добавить один промежуток после Переменные и условия php анализируются и заполняются. И для каждого элемента цикла. Это вообще возможно? Ajax будет приемлемым решением, просто не знаю, как это будет работать.

РЕДАКТИРОВАТЬ ** Я изменил предложенный код, чтобы также добавить elseif результат:

<?php if ( $hide_all_info == 0 ) { ?>

<script>
var _html = '<span class="film_meta_wrap">'
+'<div class="film_meta_title"><?php echo the_title(); ?></div>'
+'<div class="film_meta_text"><?php echo $film_meta_info; ?></div>'
+'</span>';
jQuery('.arve-embed-container').append(_html);
</script>

<?php } elseif ( $hide_all_info == 1 ) { ?>

<script>
var _html = '<span class="film_meta_wrap"></span>';
jQuery('.arve-embed-container').append(_html);
</script>

<?php } ?>

1

Решение

Ты можешь сделать:

<?php if ( $hide_all_info == 0 ) {

echo '<script>';
$innerHtml = '<span class="film_meta_wrap">
<div class="film_meta_title">'.the_title().'</div>
<div class="film_meta_text">'.$film_meta_info.'</div>
</span>';
echo 'jQuery(function(){ jQuery(".arve-embed-container").append('.$innerHtml.') });';
echo '</script>'

} elseif ( $hide_all_info == 1 ) { ?>
<span class="film_meta_wrap"></span>
<?php } ?>

Наконец то заработало

Делать:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<!-- jQuery should be decalred on the top --->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<div class="arve-embed-container">

</div>

<?php
$hide_all_info = 0;
if ( $hide_all_info == 0 ) {
$innerHtml = '<span class="film_meta_wrap">
<div class="film_meta_title">Yo</div>
<div class="film_meta_text">Wassup</div>
</span>';
echo '<script>';
echo '$(function(){ $(".arve-embed-container").append(\''.str_replace("\n", "", $innerHtml).'\') });';
echo '</script>';

} elseif ( $hide_all_info == 1 ) { ?>
<span class="film_meta_wrap"></span>
<?php } ?>



</body>
</html>
0

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

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