Puede intentar usar el complemento Magento para mejorar la funcionalidad existente de cualquier clase abstracta, aunque el alcance de la función debe ser público. Recientemente trabajé en el mismo problema en el que necesito excluir productos que tienen un atributo personalizado asignado de la lista de productos vistos recientemente .
Usé el complemento para la función llamada getItemsCollection de la clase llamada Magento \ Reports \ Block \ Product \ AbstractProduct usando la siguiente sintaxis:
archivo: aplicación \ código \ Paquete \ Módulo \ etc \ frontend \ di.xml
<type name="Magento\Reports\Block\Product\AbstractProduct">
<plugin name="Package_Module::aroundGetItemsCollection" type="Package\Module\Block\Viewed" sortOrder="20"/>
</type>
archivo: aplicación \ código \ Paquete \ Módulo \ Bloque \ Visto.php
public function afterGetItemsCollection(
$subject, $result
) {
$result = $result->addAttributeToFilter('skip_hire_product', [['neq' => 1], ['null' => true]], 'left');
return $result;
}
Puedes usar plugins tanto como antes como también. Espero que esto funcione para ti.