Intereting Posts

варианты тем эхом повторяются несколько раз

Я попытался разбить страницу параметров темы Twenty Eleven и добавить свою собственную коррекцию полей : я где-то пошел по учебнику, но когда я пытаюсь повторить данные, он выходит несколько раз.

Вот моя тема-options.php: http://pastebin.com/HSZM56jA

Вот как я повторяю это:

<?php $options = get_option('gavsiu_theme_options'); echo $options['message-primary']; echo $options['message-secondary']; ?> 

Выходит 11 раз.

Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение. Это основное сообщение. Это вторичное сообщение.

Я проверил mySQL, и данные сохраняются один раз. Не сохраняется дублирование или ошибка при сохранении предложений.

Параметры print_r $ показывают, что он печатает массив много раз, поэтому, когда я эхо «message-primary», он эхо каждого матча из каждого массива.


Я повторяю это на первой странице. Сохранение полей снова ничего не изменило.

Как я уже сказал, он правильно сохраняется в базе данных. В wp_options > gavsiu_theme_options :

 a:2:{s:15:"message-primary";s:25:"This is the main message.";s:17:"message-secondary";s:30:"This is the secondary message.";} 

Solutions Collecting From Web of "варианты тем эхом повторяются несколько раз"

Параметры выводятся в цикле, поэтому повторяются для каждой итерации цикла.

Чтобы проверить внутри цикла и выводить только что на первой итерации:

 while ( have_posts() ) : the_post(); if( $wp_query->current_post == 0 ): // this is the first post // output your options endif; // other loop stuff, title, content, etc. endwhile; 

аналогично, чтобы проверить, находитесь ли вы на последнем посту цикла:

 while ( have_posts() ) : the_post(); if( $wp_query->current_post == ( $wp_query->post_count - 1 ) ): // this is the last post endif; endwhile;