Warum überschreibt WP template_include alle Vorlagen und nicht die angegebene Seite?

Ich habe ein benutzerdefiniertes Plugin für WP erstellt, das eine Aktion enthält, die eine Vorlage über template_include wie hier gezeigt:

 public function __construct( $wp_custom_plugin, $version ) { $this->wp_custom_plugin = $wp_custom_plugin; $this->version = $version; add_action('template_include', array( $this, 'add_my_template' )); } 

Hier ist die function, die auf die Vorlage verweist:

 public function add_my_template($template){ if ( is_page( 'my-unique-page' ) ) { $template = plugin_dir_path( __FILE__ ) . 'page-my-unique-page.php' ; return $template; } } } 

Okay, also meine Erwartung hier ist, dass ich diese Vorlage nur auf my-site.com/my-unique-page . In der Praxis sehe ich diese Einschränkung nicht, sondern das Template wird flächendeckend angewendet. Irgendwelche Vorschläge, wie ich die Anzeige auf die einzelne Seite einschränken kann? Vielen Dank.

Solutions Collecting From Web of "Warum überschreibt WP template_include alle Vorlagen und nicht die angegebene Seite?"

Danke an @ WebElaines Kommentar. Ich musste die Rückgabe der Vorlage außerhalb der function verschieben, sodass sie wie folgt aussieht:

 public function add_my_template($template){ if ( is_page( 'my-unique-page' ) ) { $template = plugin_dir_path( __FILE__ ) . 'page-my-unique-page.php' ; } return $template; }