Intereting Posts
Пароль пользователя обновляет пароль, даже если он не заполнен (тема моего входа в систему) в Firefox? Опция удаления не отображается для плагинов Получение большинства популярных сообщений на основе комментариев Facebook count Как я могу получить идентификаторы категорий, если с помощью URI запрашивается несколько категорий? Как проверить, существует ли пользователь по данному идентификатору pre_get_posts или $ где, какой из них использовать? Проверьте, не имеет ли конкретный цикл меньше определенного количества сообщений wp_create_user hook Войти с Ajax – Первый раз Войти Переадресация на страницу профиля Условия wp_set_object не будут удалять все термины В медиатеке WordPress отображаются пустые изображения Значение по умолчанию для элемента управления настройками для пользовательских настроек, отображаемое в настройке, но не во внешнем интерфейсе Как добраться до WordPress фильтра Пользовательская форма перенаправления после входа в систему Исключить изображение из галереи в wp-admin

выпадающий список без отправки

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

Вот что я до сих пор …

<div class="col-md-6 col-md-offset-3"> <?php //create a var using get_pages create an array and get all page names $pages = get_pages(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template-services.php' )); ?> <p>Looking for something else?</p> <select id="cat" class="form-control"> <?php // for each item in pages array assign to the new var page foreach( $pages as $page ) { //echo out var page for each item in the array echo '<option>' . $page->post_title . '</option>'; }?> </select> </div> 

Может ли кто-нибудь показать мне, как я могу это достичь? Я знаю, что есть скрипт на WordPress codex, который позволяет вам делать это для категорий, но я понятия не имею, как изменить его для работы для моих нужд

Solutions Collecting From Web of "выпадающий список без отправки"

Вы можете использовать функцию get_page_link для извлечения постоянной ссылки для текущей страницы (если она есть в Loop) или любого произвольного идентификатора страницы, если она передана в качестве первого аргумента.

что-то вроде этого:

 <a href="<?php echo get_page_link( $page->ID ); ?>"><?php echo $page->post_title; ?></a> 

Ссылка: https://codex.wordpress.org/Function_Reference/get_page_link

Не проблема, попробуйте использовать опцию «onChange»:

что-то вроде этого:

 <select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"> <option value="">Select...</option> <option value="http://www.google.com">Google</option> <option value="http://www.yahoo.com">Yahoo</option> 

Просто добавьте параметр permalinke в значение параметра.

Сначала оберните ваше поле ввода в form с помощью элементов формы напрямую, это не очень хорошая идея. Затем сделайте свою форму, чтобы нормально подать и связать с javascript. Таким образом, он может работать в обоих направлениях: отключен или отключен js.

Рассмотрим этот пример: –

 <div class="col-md-6 col-md-offset-3"><?php //create a var using get_pages create an array and get all page names $pages = get_pages(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template-services.php' )); if (!empty($pages)) { ?> <p><?php _e('Looking for something else?', 'your-text-doamin'); ?></p> <form method="GET" action="<?php echo home_url(); ?>"> <select id="cat" class="form-control" name="p"><?php // for each item in pages array assign to the new var page echo '<option data-url="" value="">' . __('Select', 'your-text-domain') . '</option>'; foreach( $pages as $page ) { //echo out var page for each item in the array echo '<option data-url="' . get_permalink($page->ID) .'" value="' . $page->ID . '">' . get_the_title($page->ID) . '</option>'; } ?> </select> <noscript><input type="submit" value="<?php _e('Submit', 'your-text-domain'); ?>" /></noscript> </form><?php } ?> </div> 

Здесь я использую data-url для перенаправления по javascript и значения с идентификатором страницы, чтобы мы могли нормально отправить форму. Обтекание кнопки submit в <noscript> чтобы он не отображался при включенном JS.

Затем поместите этот javascript в свой собственный js-файл.

 jQuery(document).ready(function (){ jQuery('#cat').change(function (){ if (jQuery(this).children('option:selected').data('url')) { window.location = jQuery(this).children('option:selected').data('url'); } }); });