Custom Post Type works when registered in functions.php but not when registered in plugin

  1. Your class has no __construct() method.
  2. Even if it did, you’re not calling the class to set it up

So…

1) at the top of your class, add:

function __construct() {
    register_cpt();
}

2) after your class, add:

$myCPT = new Dw_Mf_Register_CPT();

Or, you could just get rid of the class construction altogether. You don’t actually need it if all your plugin does is add the CPT.