Intereting Posts
wp_schedule_event выполняется в фоновом режиме или нет? Как я могу предварительно указать URL-адрес кнопки добавления медиафайла Как сделать 10 сообщений одной категории Как заряжать доставку в WP электронной коммерции на основе варианта? WP Create User – предотвращение повторной информации Как я могу избавиться от wp перед URL? Лучшее место для хранения файлов, вызываемых заданиями cron? «Запрошенный URL / имя проекта / имя_файла / не найден на этом сервере.» На веб-сайте WordPress Ошибка пользовательского поля в WordPress 3.2 Как правильно показать Excerpt только в том случае, если он существует? Как отобразить список сообщений в макете таблицы (несколько запросов в одном цикле) Удалил бы вручную данные сброса данных «# 1062 – Дублировать запись« 1 »для ошибки« PRIMARY »phpMyAdmin? Как добавить дополнительный столбец администратора, показывающий количество слов на странице или сообщении? Как я могу использовать заголовок видео более 8 МБ? Использование памяти для масштабируемых запросов usermeta

Условия WordPress не работают

Привет, я создаю jquery-аккордеон, который отлично работает на моем сайте.

Однако теперь я пытаюсь ввести условные обозначения, чтобы включить его только в сообщениях и страницах, однако это не работает, кажется, что условные выражения не обнаруживают, что это страница.

Код находится здесь: http://pastebin.com/9anYAKa1

function faq_start_shortcode( $atts, $content = null ) { return '<div id="accordion">'; } function faq_question_shortcode( $atts, $content = null ) { return '<div class="accordionButton">' . $content . '</div>'; } function faq_answer_shortcode( $atts, $content = null ) { return '<div class="accordionContent">' . $content . '</div>'; } function faq_end_shortcode( $atts, $content = null ) { return '</div>'; } if ( is_single() || is_page() ) { add_shortcode('faqstart', 'faq_start_shortcode'); add_shortcode('question', 'faq_question_shortcode'); add_shortcode('answer', 'faq_answer_shortcode'); add_shortcode('faqend', 'faq_end_shortcode'); } 

Solutions Collecting From Web of "Условия WordPress не работают"

Проблема в том, что вы завершаете вызовы add_action() внутри условных add_action() , но в тот момент, когда эти вызовы add_action() выполняются, ни запрос, ни условия запроса еще не доступны.

Решение: поместите условные выражения внутри обратных вызовов :

 function faq_start_shortcode( $atts, $content = null ) { if ( is_single() || is_page() ) { return '<div id="accordion">'; } } function faq_question_shortcode( $atts, $content = null ) { if ( is_single() || is_page() ) { return '<div class="accordionButton">' . $content . '</div>'; } } function faq_answer_shortcode( $atts, $content = null ) { if ( is_single() || is_page() ) { return '<div class="accordionContent">' . $content . '</div>'; } } function faq_end_shortcode( $atts, $content = null ) { if ( is_single() || is_page() ) { return '</div>'; } } add_shortcode('faqstart', 'faq_start_shortcode'); add_shortcode('question', 'faq_question_shortcode'); add_shortcode('answer', 'faq_answer_shortcode'); add_shortcode('faqend', 'faq_end_shortcode'); 

(ps вы можете использовать is_singular() как сокращенное ( is_single() || is_page() ) .