Hi Nayeem,
From digging around a bit further, it looks like the variable $categories is being used in /plugins/wpdm-advanced-access-control/tpls/wpdm-my-downloads-wlt.php prior to being initialised or defined, which is being flagged by the stricter error reporting in PHP 8, and suppressing the error still causes the page to throw a critical error.
Obviously, I don’t want to edit the plugin code directly, but if I do this in a staging environment, by adding a line before to check whether $categories is defined and is not null, then it looks like it fixes the issue.
<?php
/* Check variable is not undefined or null */
$categories = $categories ?? [];
if(is_array($categories) && count($categories) > 0){ ?>
<div class="col-md-3">
Would it be possible to test this and look to action this amendment in the next version if it works?
Thank you
Geoff