Why dont replicate this variable from WidgetBP?

So what you want to do is move all the code in your first screenshot from the widget blueprint to the player controller. Then connect OnClicked to run that code in the player controller. You can use Get Owning Player to get the player controller that owns the Widget Blueprint and call the function or event in the player controller from there. Replication will work in the player controller but not in the widget blueprint.