In order to update a Value for a Product Attribute, you need to use Class [Magento\Catalog\Model\Product\Action].
Here is example
namespace PL\Snippets\Observer;
use Magento\Catalog\Model\Product;
use Magento\Framework\Event\Observer;
class UpdateProductAttribute implements \Magento\Framework\Event\ObserverInterface
{
const SNIPPET_YOUTUBE_LINK = 'snippet_youtube_link';
protected $productAction;
protected $storeManager;
public function __construct(
\Magento\Catalog\Model\Product\Action $productAction,
\Magento\Store\Model\StoreManagerInterface $storeManager
) {
$this->productAction = $productAction;
$this->storeManager = $storeManager;
}
public function execute(Observer $observer)
{
$productIds = $observer->getEvent()->getData('productIds');
if(is_array($productIds) && count($productIds) > 0) {
$storeId = $this->storeManager->getStore()->getId();
$this->productAction->updateAttributes($productIds, array(self::SNIPPET_YOUTUBE_LINK => null), $storeId);
}
}
}