squitcher
@squitcher
Верстальщик

Как вывести цикл внутри functions?

Имеется код который выводит отзывы, к сожалению пришел только такому изобретению, я положил код вывода цикла в шордкод, но не могу заставить работать цикл, php не хочет работать, как быть ?

function my_modules() {
		return '
											  <div class="evaluated-projects">
									  	<div class="container">
										  	<div class="section-simple-title-wrap wow fadeInUp text-center " data-wow-delay="0.4s " style="visibility: hidden; animation-delay: 0.4s; animation-name: none; ">
										  	  <h3 class="simple-title no-link ">Оцененные проекты</h3>
										  	</div>
									  		<div class="evaluated-projects__content oneperframe frame wow fadeIn" data-wow-delay="0.4s " style="visibility: hidden; animation-delay: 0.4s; animation-name: none; " id="oneperframe">
									  		  <ul class="frame-list">
	
									  	 the_excerpt(); 
									  										  		<li class="frame-list__item">
																					
											  		  <div class="evaluated-projects__item">
											  		    <div class="evaluated-projects__img">
											  		      <img src="potolki_new_files/img/sly-slide-1.jpg" alt="image">
											  		    </div>
											  		    <div class="evaluated-projects__description">
											  		      <div class="evaluated-projects__title"> the_title(); </div>
											  		      <ul class="evaluated-projects__list">
											  		        <li>Полотно <span>3 600 ₽</span></li>
											  		        <li>Светильники с лампой под ключ <span>6 240 ₽</span></li>
											  		        <li>Углы <span>600 ₽</span></li>
											  		        <li>Установка люстры <span>1 000 ₽</span></li>
											  		        <li>Обвод трубы <span>300 ₽</span></li>
											  		        <li>Итого <span>12 040 ₽</span></li>
											  		      </ul>
											  		      <div class="buttons-block">
											  		        <a href="the_permalink();" class="btn button-orange">Подробнее</a>
											  		        <span class="button-review"><span>Прочитать отзыв</span></span>
											  		      </div>
											  		    </div>
											  		    <div class="review__item">
											  		    	<div class="review__content">
											  		    		<p>
																 echo get_post_meta(get_the_ID(), \"reviews\", true);
																</p>
											  		    	</div>
											  		    	<div class="review__author">
											  		    		<div class="review__author-img">
											  		    			<img src="potolki_new_files/img/men.png" alt="people" />
											  		    		</div>
											  		    		<div class="review__author-name">Александр Петровский</div>
											  		    		<div class="review__author-post">Генеральный директор компании Роснефть</div>
												  		      <div class="buttons-block">
												  		        <a href="" class="btn button-orange">Подробнее</a>
												  		        <span class="button-watch-project"><span>Смотреть проект</span></span>
												  		      </div>
											  		    	</div>
											  		    </div>
											  		  </div>
											  		</li>
											  	</ul>
									  		</div>												
												<div class="scrollbar">
													<div class="handle">
														<div class="mousearea"></div>
													</div>
												</div>
									  	</div>
									  </div>
									  
									
									  
									  


		';
	}
	add_shortcode('reviews', 'my_modules');

php просто не хочет интерпретироваться
  • Вопрос задан
  • 408 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Quieteroks
php программист
Читаю весь гнев в комментариях... Жесть.

Вам конечно для подобного, просто необходимо пройти базовый курс. Иначе Вам действительно лучше идти за фрилансервами. Помощь, помощью, но писать за Вас код никто не будет.

А теперь по делу.
Вы возвращаете строку. Строка не интерпритируется, как Вам хотелось бы. И использование тегов <?php ?> Вам не поможет. Тут все проще:
return '<div class="review__content">
    <p>' . get_post_meta(get_the_ID(), "reviews",  true) . '</p>
</div>';
Ответ написан
Комментировать
Прочитайте о шаблонизаторах сторонних допустим (Blade) или же стандартный пыховский(PHP), тогда меньше проблем будет с выводом в HTML.
и было бы тогда проще вызывать какие либо функции в HTML верстку или же пробуйте не писать в одну строку HTML на практике кучей ошибок вываливается
По теме:


echo get_post_meta(get_the_ID(), \"reviews\", true);


в этой строке, выведите echo из строки. как описано выше.
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
<?php

function my_modules() {
  return '
    <div class="evaluated-projects">
      <div class="container">
        <div class="section-simple-title-wrap wow fadeInUp text-center " data-wow-delay="0.4s " style="visibility: hidden; animation-delay: 0.4s; animation-name: none; ">
          <h3 class="simple-title no-link ">Оцененные проекты</h3>
        </div>
        <div class="evaluated-projects__content oneperframe frame wow fadeIn" data-wow-delay="0.4s " style="visibility: hidden; animation-delay: 0.4s; animation-name: none; " id="oneperframe">
          <ul class="frame-list">
            ' . the_excerpt() . '
            <li class="frame-list__item">
              <div class="evaluated-projects__item">
                <div class="evaluated-projects__img">
                  <img src="potolki_new_files/img/sly-slide-1.jpg" alt="image">
                </div>
                <div class="evaluated-projects__description">
                  <div class="evaluated-projects__title"> ' . the_title() . ' </div>
                  <ul class="evaluated-projects__list">
                    <li>Полотно <span>3 600 ₽</span></li>
                    <li>Светильники с лампой под ключ <span>6 240 ₽</span></li>
                    <li>Углы <span>600 ₽</span></li>
                    <li>Установка люстры <span>1 000 ₽</span></li>
                    <li>Обвод трубы <span>300 ₽</span></li>
                    <li>Итого <span>12 040 ₽</span></li>
                  </ul>
                  <div class="buttons-block">
                    <a href="' . the_permalink() . '" class="btn button-orange">Подробнее</a>
                    <span class="button-review"><span>Прочитать отзыв</span></span>
                  </div>
                </div>
                <div class="review__item">
                  <div class="review__content">
                    <p>
                      ' . get_post_meta(get_the_ID(), "reviews", true) . '
                    </p>
                  </div>
                  <div class="review__author">
                    <div class="review__author-img">
                      <img src="potolki_new_files/img/men.png" alt="people" />
                    </div>
                    <div class="review__author-name">Александр Петровский</div>
                    <div class="review__author-post">Генеральный директор компании Роснефть</div>
                    <div class="buttons-block">
                      <a href="" class="btn button-orange">Подробнее</a>
                      <span class="button-watch-project"><span>Смотреть проект</span></span>
                    </div>
                  </div>
                </div>
              </div>
            </li>
          </ul>
        </div>
        <div class="scrollbar">
          <div class="handle">
            <div class="mousearea"></div>
          </div>
        </div>
      </div>
    </div>
  ';
}
add_shortcode('reviews', 'my_modules');
Ответ написан
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
function my_modules() {
    global $post;
    setup_postdata( $post );
	ob_start(); ?>
                        <div class="evaluated-projects">
                    	<div class="container">
                      	<div class="section-simple-title-wrap wow fadeInUp text-center " data-wow-delay="0.4s " style="visibility: hidden; animation-delay: 0.4s; animation-name: none; ">
                      	  <h3 class="simple-title no-link ">Оцененные проекты</h3>
                      	</div>
                    		<div class="evaluated-projects__content oneperframe frame wow fadeIn" data-wow-delay="0.4s " style="visibility: hidden; animation-delay: 0.4s; animation-name: none; " id="oneperframe">
                    		  <ul class="frame-list">
  
                    	 the_excerpt(); 
                    										  		<li class="frame-list__item">
                                          
                        		  <div class="evaluated-projects__item">
                        		    <div class="evaluated-projects__img">
                        		      <img src="potolki_new_files/img/sly-slide-1.jpg" alt="image">
                        		    </div>
                        		    <div class="evaluated-projects__description">
                        		      <div class="evaluated-projects__title"> the_title(); </div>
                        		      <ul class="evaluated-projects__list">
                        		        <li>Полотно <span>3 600 ₽</span></li>
                        		        <li>Светильники с лампой под ключ <span>6 240 ₽</span></li>
                        		        <li>Углы <span>600 ₽</span></li>
                        		        <li>Установка люстры <span>1 000 ₽</span></li>
                        		        <li>Обвод трубы <span>300 ₽</span></li>
                        		        <li>Итого <span>12 040 ₽</span></li>
                        		      </ul>
                        		      <div class="buttons-block">
                        		        <a href="the_permalink();" class="btn button-orange">Подробнее</a>
                        		        <span class="button-review"><span>Прочитать отзыв</span></span>
                        		      </div>
                        		    </div>
                        		    <div class="review__item">
                        		    	<div class="review__content">
                        		    		<p>
                                 echo get_post_meta(get_the_ID(), \"reviews\", true);
                                </p>
                        		    	</div>
                        		    	<div class="review__author">
                        		    		<div class="review__author-img">
                        		    			<img src="potolki_new_files/img/men.png" alt="people" />
                        		    		</div>
                        		    		<div class="review__author-name">Александр Петровский</div>
                        		    		<div class="review__author-post">Генеральный директор компании Роснефть</div>
                          		      <div class="buttons-block">
                          		        <a href="" class="btn button-orange">Подробнее</a>
                          		        <span class="button-watch-project"><span>Смотреть проект</span></span>
                          		      </div>
                        		    	</div>
                        		    </div>
                        		  </div>
                        		</li>
                        	</ul>
                    		</div>												
                        <div class="scrollbar">
                          <div class="handle">
                            <div class="mousearea"></div>
                          </div>
                        </div>
                    	</div>
                    </div>
					<?php return ob_get_clean();
  }
  add_shortcode('reviews', 'my_modules');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы