Ich bin jetzt ein Schritt weiter. Wenn ich In der Post-Type Einstellung sage:
'has_archive' => true
öffnet das Plugin die listenanzeige standardmäßig über archive.php und wenn die der Wert false ist öffnet er die Liste auf home.php.
und mit folgenden Funktionen kann ich diese für das Plugin entsprechend gegen ein eigenes Template ersetzen.
Einfach die Filter im constructor vom Plugin aufrufen.
add_filter('archive_template', function($archive){
global $post;
if ($post->post_type == 'posttype-slug'){
if (file_exists( plugin_dir_path( __FILE__ ).'/plugin-archive-file.php')){
return plugin_dir_path( __FILE__ ) . '/plugin-archive-file.php';
}
}
return $archive;
});
add_filter('home_template', function($home){
global $post;
if ($post->post_type == 'posttype-slug'){
if (file_exists( plugin_dir_path( __FILE__ ).'/plugin-home-file.php')){
return plugin_dir_path( __FILE__ ) . '/plugin-home-file.php';
}
}
return $home;
});
Jetzt frag ich mich halt nur noch, wie ich es hinbekomme das er eine eigene home.php UND eine eigene archiv.php nutzt. Da ich aber noch keine Taxonomien hab werde ich das erst später herausfinden müssen.
Ich wollte nur Bescheid geben, dass es fürs erste läuft.