Wordpress comments.php Изменить вывод php, если переменная равна true - PullRequest
1 голос
/ 28 марта 2012

Я искал везде и не могу найти решение этой проблемы:

Я занимаюсь разработкой темы Wordpress и нахожусь в процессе создания файла comments.php. Вот мой код:

На моей странице single.php я вверху <?php $mobile_blog = 'true'; ?> и затем в моем файле comments.php я имею:

// begin if statement
<?php if($mobile_blog == 'true') : ?>

// If $mobile_blog variable is set to true on the page, show this code.

<div id="comments" class="blog-comments">
  <?php if($comments) : ?>
  <ol class="comments blog-comments" style="list-style:none;">
    <?php wp_list_comments('type=comment&callback=company_mobile_comments'); ?>
  </ol>
  <?php else : ?>
  <p>No comments yet</p>
  <?php endif; ?>
</div>

<?php else : ?>

// If $mobile_blog variable is NOT set to true on the page, show this code.

<div id="comments" class="blog-comments"><span class="t">
  <?php comments_number( 'No Comments', '1 Comment so far', '% Comments' ); ?>
  </span>
  <?php if($comments) : ?>
  <ol class="comments">
    <?php wp_list_comments('type=comment&callback=company_comments'); ?>
  </ol>
  <?php else : ?>
  <p>No comments yet</p>
  <?php endif; ?>
</div>

//end of if statement

<?php endif; ?>

Что я пытаюсь достичь здесь , это то, что если на странице для переменной $mobile_blog установлено значение true, показать верхнюю часть кода, в противном случае переменная не установлена ​​или не равна true , покажи нижнюю часть кода.

По какой-то причине, когда я использую код, включенный здесь, он показывает только нижнюю часть кода, даже когда переменная установлена ​​в true. Неважно, что я делаю, я не могу заставить его показывать правильный код в любом случае, когда это необходимо.

EDIT :: Вместо этого, есть ли способ заставить шаблон извлекать другой файл comments.php в зависимости от того, установлена ​​ли переменная в true или нет? Я включаю комментарии в мою страницу single.php, используя <?php comments_template( '', true ); ?>

Ответы [ 4 ]

0 голосов
/ 28 марта 2012

Я действительно нашел способ выбрать, какой шаблон комментариев отображать для мобильной версии шаблона. Код ниже позволяет вам выбрать, какой файл comments.php использовать:)

<?php // show mobile comments 
comments_template( '/mobile-comments.php', true ); ?>
0 голосов
/ 28 марта 2012

попробуйте это

<?php if($mobile_blog === true) : ?>

РЕДАКТИРОВАТЬ - Если это не логическое значение, возможно, оно перезаписывается.попробуйте

$mobile_blog = 'true';
// begin if statement
<?php if($mobile_blog == 'true') : ?>
0 голосов
/ 28 марта 2012

Убедитесь, что $ mobile_blog является логическим значением. Если вы не уверены, что можете попробовать этот код

if (settype($mobile_blog, bool)) {
  /* true */
}

Примечание. Это не работает, когда mobile_blog является строкой. Тогда mobile_blog всегда верен.

0 голосов
/ 28 марта 2012

изменить на

 if($mobile_blog === true):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...