Intereting Posts
Как добавить социальные кнопки, такие как facebook и twitter в нижнем колонтитуле темы? Блокировать прямой URL-адрес Получение метаданных сообщений (вложение) Как добавить форму для регистрации в мой блог? Эффективно, лучше ли вставить (маленький) скрипт на каждую страницу или тест, чтобы убедиться, что это необходимо? wp_mail не определено Как отредактировать e-mail WordPress, который дает пользователю пароль? Плагин – кнопки общего доступа к социальным сетям Как получить этот JavaScript с помощью get_permalink почему HTML-тег не работает в Post и Page Как отключить или скрыть WordPress.com в качестве опции входа в социальные сети для Jetpack Комментарии Добавьте встроенный стиль на страницы, где использовался короткий код Добавление ссылки на боковую панель приборной панели, вложенной в пользовательский тип сообщения Как я могу технически доказать, что WordPress безопасен? Как заставить WordPress запускать мероприятие каждый день?

Создание цикла внутри functions.php

Я использую Woocommerce на своем веб-сайте, на странице проверки у меня есть пользовательское поле для проверки с помощью переключателей. Я использую этот рабочий фрагмент в моих функциях.php:

/** * Add the field to the checkout **/ add_action( 'woocommerce_after_order_notes', 'custom_select_field' ); function hear_about_us_field( $checkout ) { echo '<div id="custom-field"><h3>' . __( '2. Pick an option' ) . '</h3>'; woocommerce_form_field_radio( 'custom_field', array( 'type' => 'select', 'class' => array( 'custom-select-field' ), 'label' => __( '' ), 'placeholder' => __( '' ), 'required' => true, 'options' => array( 'Option 1' => 'Option 1', 'Option 2' => 'Option 2', 'Option 3' => 'Option 3' ) ), $checkout->get_value( 'custom_field' ) ); echo '</div>'; } 

Как вы видите, есть три варианта выбора, которые я добавил вручную. Я хочу, чтобы динамически добавлять параметры на основе пользовательских типов сообщений.

При отображении пользовательских типов сообщений я обычно запускаю цикл следующим образом:

 <?php $loop = new WP_Query( array( 'post_type' => 'organisationer') ); ?> <?php while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php the_title(); ?> <?php endwhile; wp_reset_query(); ?> 

Как я могу реализовать этот цикл в функции проверки? S

вместо «Варианты 1», «Вариант 2», например, я хочу заголовок CPT.

Solutions Collecting From Web of "Создание цикла внутри functions.php"

Просто WP_Query::$posts на WP_Query::$posts чтобы получить заголовки:

 $option_posts = new WP_Query( [ 'post_type' => 'organisationer' ] ); $options = []; foreach ( $option_posts->posts as $post ) { $key = "option_{$post->ID}"; $options[ $key ] = apply_filters( 'the_title', $post->post_title ); } woocommerce_form_field_radio( 'custom_field', array( /* … */ 'options' => $options ), $checkout->get_value( 'custom_field' ) ); 

Я не уверен, что именно woocommerce_form_field_radio ожидает в качестве параметра. Возможно, вам нужно перевернуть ключ и значение в $option ассоциативного массива $option . Но это в основном как получить список заголовков сообщений из объекта запроса. Вы также можете рассмотреть возможность удаления фильтра the_title , в зависимости от ваших потребностей.