Могу ошибаться, с woocommerce опыта особо не было.
У тебя происходит return $valid; (или return true; - если товаров нет) в functions.php.
То есть куда происходит return? Очевидно на активную страницу где и было инициализировано событие. И popup нужен на этой же странице.
Поэтому ищи куда происходит return и там вставляй echo "";
Думаю, что надо в функцию вывода прикреплённых файлов прикрутить что-то типа этого:
global $user_ID; get_currentuserinfo();
if (('' !== $user_ID) - проверка - авторизирован ли пользователь Источник
Гуглите в сторону шаблона страницы и добавление записи через фронтенд. Плагины фронтенда есть, но мне например не пригодились, делал именно через шаблон laowai-china.com/addpost