Files
wp-multi-city/includes/class-field-group.php
T
Vladimir Bryzgalov 12a271981a chore(wpmc S2): defensive defines + PostType::SLUG refs + stale comment
Wrap 4 define() calls with defined() || guards to survive double-load.
Replace hardcoded 'shortcode-town' strings in Taxonomy and FieldGroup
with PostType::SLUG. Update Activator comment to reflect S2 reality.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 18:02:14 +05:00

68 lines
2.4 KiB
PHP

<?php
declare(strict_types=1);
namespace WPMultiCity;
final class FieldGroup
{
public const GROUP_KEY = 'group_wpmc_shortcode_rows';
public const REPEATER_KEY = 'field_wpmc_list_shortcode';
public static function register(): void
{
add_action('acf/init', [self::class, 'do_register']);
}
public static function do_register(): void
{
if (!function_exists('acf_add_local_field_group')) {
return;
}
acf_add_local_field_group([
'key' => self::GROUP_KEY,
'title' => 'WPMultiCity / Shortcode rows',
'fields' => [
[
'key' => self::REPEATER_KEY,
'label' => __('Подстановки по городам', 'wp-multi-city'),
'name' => 'list_shortcode',
'type' => 'repeater',
'layout' => 'table',
'button_label' => __('Добавить город', 'wp-multi-city'),
'sub_fields' => [
[
'key' => 'field_wpmc_list_shortcode_town',
'label' => __('Город', 'wp-multi-city'),
'name' => 'town',
'type' => 'taxonomy',
'taxonomy' => 'town',
'field_type' => 'select',
'return_format' => 'id',
'allow_null' => 0,
'multiple' => 0,
'add_term' => 0,
],
[
'key' => 'field_wpmc_list_shortcode_text',
'label' => __('Значение', 'wp-multi-city'),
'name' => 'text',
'type' => 'textarea',
'rows' => 4,
],
],
],
],
'location' => [
[
['param' => 'post_type', 'operator' => '==', 'value' => PostType::SLUG],
],
],
'menu_order' => 0,
'position' => 'normal',
'style' => 'default',
'active' => true,
]);
}
}