Якщо у вас є атрибут продукту і ви хочете призначити його якомусь набору атрибутів, це легко зробити за допомогою адмін панелі Magento 2 Admin Panel > Stores > Attributes > Attribute Set.
Але що, якщо вам потрібно призначити його всім вашим наборам атрибутів? Що робити, якщо у вас їх 50+ або більше 100? Це може зайняти деякий час.

Отже, що ви можете зробити, це створити простий скрипт, який зробить всю роботу за вас.

1. Створіть PHP-файл "myscript.php" у своєму кореневому каталозі Magento 2.

2. Вставте цей код:

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
$ATTRIBUTE_CODE = 'my_attribute';
$ATTRIBUTE_GROUP = 'General';
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get(Magento\Framework\App\State::class);
$state->setAreaCode('adminhtml');

/* Attribute assign logic */ $eavSetup = $objectManager->create(\Magento\Eav\Setup\EavSetup::class);
$config = $objectManager->get(\Magento\Catalog\Model\Config::class);
$attributeManagement = $objectManager->get(\Magento\Eav\Api\AttributeManagementInterface::class);
$entityTypeId = $eavSetup->getEntityTypeId(\Magento\Catalog\Model\Product::ENTITY);
$attributeSetIds = $eavSetup->getAllAttributeSetIds($entityTypeId);
foreach ($attributeSetIds as $attributeSetId) {
    if ($attributeSetId) {
        $group_id = $config->getAttributeGroupId($attributeSetId, $ATTRIBUTE_GROUP);
        $attributeManagement->assign(
            'catalog_product',
            $attributeSetId,
            $group_id,
            $ATTRIBUTE_CODE,
            999
       );
    }
}

3. Змініть значення для $ATTRIBUTE_CODE та $ATTRIBUTE_GROUP.

4. Збережіть файл.

5. Запустіть CLI команду:

php myscript.php

6. Після завершення видаліть файл myscript.php або зробіть його недоступним з Інтернету.