Расширенные настраиваемые поля: используйте подполе-повторитель в коротком коде для вывода другого подполя.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Расширенные настраиваемые поля: используйте подполе-повторитель в коротком коде для вывода другого подполя.

Сообщение Anonymous »

Обновление от 26 февраля 2026 г.: Дополнительный вопрос, заданный ниже.

Я прочитал много вопросов SO о расширенных настраиваемых полях ACF (плагин WordPress), коротких кодах, полях повторителя и т. д. и не нашел ничего, связанного с тем, что я хочу сделать.
Я хочу вывести содержимое подполя повторителя «значение» через короткий код, используя подполе повторителя. "ключ" в коротком коде.
У меня есть группа повторителей ACF "my_repeater" со многими строками, и каждая строка имеет два подполя: "ключ" и "значение".
Изображение

Я хочу сделать следующее: если я использую этот короткий код на странице
[acf field_name="key1" post_id="123"]
короткий код должен выводить значение 1
и т. д.
[acf field_name="key2" post_id="123"]
должен вывести значение2
Я не знаю, с чего начать. Я предполагаю, что мне нужно просмотреть каждую строку «my_repeater» https://www.advancedcustomfields.com/re ... /repeater/ и сопоставить «ключ», который находится в коротком коде, а затем получить «значение» подполя повторителя из этой строки. https://www.advancedcustomfields.com/re ... sub_field/
if( have_rows('parent_field') ):
while ( have_rows('parent_field') ) : the_row();
$sub_value = get_sub_field('sub_field');
// Do something...
endwhile;
else :
// no rows found
endif;

Но как мне сопоставить «ключ» в коротком коде со строкой повторителя?
И я знаю, что мне нужно использовать page_id страницы в коротком коде, чтобы я мог использовать короткие коды глобально в любом месте сайта, а не только на странице с группой повторителей. https://www.advancedcustomfields.com/re ... shortcode/
Любая помощь приветствуется!

Обновление от 26 февраля 2026 г.:
Бонусный вопрос:
Как я могу использовать PHP, неосновную таблицу базы данных WordPress и wpdb https://developer.wordpress.org/reference/classes/wpdb/ для создания и использования коротких кодов?
Используя структуру базы данных "my_table"
Изображение

и такой короткий код
[product_shortcode "key1"]
чтобы вывести значение 1,00
(В настоящее время я не использую столбец product_key. И использование «product_shortcode» в коротком коде просто для того, чтобы отличить этот набор коротких кодов от других, которые я могу разработать в будущем.)
Запрос ниже получает все ключи, но следует ли их выводить в массиве, чтобы ключ можно было сопоставить с ключом в шортокд? Буду ли я использовать цикл foreach вместо WordPress if while?
global $wpdb;
$table_name = "my_table";
$the_rows = $wpdb->get_results( "SELECT `key` FROM ".$table_name);

foreach ($the_rows as $data) {
// match to shortcode
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ut-another
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»