Intereting Posts
Как сохранить повторяющиеся поля с одним значением внутри массива? Плагин для тегов (добавить класс к?) Изображениям, прикрепленным к сообщению? Сохранение / извлечение наилучших методов данных формы для разработки тем Ограничить количество сообщений, которые может опубликовать автор (со временем)? Как добавить короткий код после Div.class? Отобразить первый тег, назначенный сообщению get_pages отображает только родителей вместо детей Вызывает функцию function_exists () быстрее или медленнее, чем apply_filters () добавление флажка в мета Почему wp_enqueue_script () не работает при включении файла JavaScript с помощью TEMPLATEPATH? Как функции вызова WordPress прикрепляются к определенному ключу действия перед вызовом функций, прикрепленных к другим крючкам Имитировать конкретную страницу при вызове AJAX Есть ли модуль подписки на электронную почту, который позволяет пользователю выбирать категорию? Установка WP дважды в том же каталоге? Ограничить доступ панели управления для определенных ролей пользователей к определенным действиям

Пользовательская вкладка WooCommerce с полем повторителя ACF

Я использую настраиваемое поле Repeater of Advance для содержимого дополнительной пользовательской вкладки WooCommerce. Повторитель находится внутри группового поля. Мне удается отобразить пользовательские поля, которые находятся вне поля ретранслятора. Теперь проблема заключается в поле внутри моего поля ретранслятора. Поле ретранслятора не отображается. Вот код, который я использовал в моих functions.php

// Добавить пользовательскую вкладку

add_filter( 'woocommerce_product_tabs', 'dl_custom_product_designer_tab' ); function dl_custom_product_designer_tab( $tabs ) { // ensure ACF is available if ( !function_exists( 'have_rows' ) ) return; if ( get_field('designer') ) { $tabs[] = array( 'title' => 'DESIGNER', 'priority' => 50, 'callback' => 'dl_custom_designer_tab' ); } return $tabs; } function dl_custom_designer_tab() { $designer = get_field('designer'); echo '<p>'.$designer['designer_image'].'</p>'; echo '<p>'.$designer['designer_name'].'</p>'; echo '<p>'.$designer['designer_short_description'].'</p>'; // loop through the rows of data $achievements = get_field('designer_achievements'); if( $achievements ) { // loop through the rows of data echo '<ul>'; foreach($achievements as $achievement){ // display a sub field value echo '<li>'.$achievement['achievement'].'</li>'; } echo '</ul>'; } } 

Я считаю, что вам нужно использовать get_sub_field () для поля ретранслятора (designer_achievements) и get_field () для своего родителя. Пожалуйста, ознакомьтесь с документацией ACF для подполя поля поля повторителя.

Вам также понадобится использовать цикл has_rows (), как указано в документации.

 if( have_rows('parent_field') ): while( have_rows('parent_field') ) : the_row(); $value = get_sub_field('sub_field'); endwhile; endif; 

замените $achievements = get_field('designer_achievements'); до $achievements = get_sub_field('designer_achievements');