Всегда указывайте необязательные аргументы в качестве последних аргументов со значением по умолчанию.Поскольку в PHP нет ни именованных параметров, ни «перегрузки Java», это единственный способ:
function replace_product_link( $link_html, $product, $args=null ){
return $link_html;
}