12a271981a
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>
68 lines
2.4 KiB
PHP
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,
|
|
]);
|
|
}
|
|
}
|