WordPress : Le modèle personnalisé avec CPT ne s’affiche pas sur le frontend
J’ai créé un plugin WP qui ajoute un CPT et permet à l’utilisateur de sélectionner un modèle personnalisé.
Cela fonctionnait lorsque j’utilisais une conception MVC, mais lorsque je suis passé à un nouveau style MVC, il ne sort pas sur le frontend et ne semble pas non plus attribuer de modèle personnalisé à la page!
J’ai utilisé les crochets suivants :
add_filter(
'theme_page_templates', array( $this, 'add_new_template' )
);
add_filter(
'quick_edit_dropdown_pages_args',
array( $this, 'register_project_templates' )
);
add_filter(
'wp_insert_post_data',
array( $this, 'register_project_templates' )
);
// Add your templates to this array.
$this->templates = array(
'api.php' => 'API',
'print_invoice.php' => 'Print Invoice',
'wpc-post.php' => 'custom Post',
'dashboard.php' => 'Dashboard',
);
// self::create_dashboard_page();
add_action('add_meta_boxes', array($this, 'meta_box_visibility'));
add_action('save_post', array($this, 'wporg_save_postdata'), 10, 2);
/* Filter the single_template with our custom function*/
add_filter( 'template_include', array($this, 'my_plugin_templates'));
add_filter(
'manage_dashboard_posts_columns',
array($this, 'custom_post_type_columns')
);
add_action(
'manage_dashboard_posts_custom_column',
array($this, 'custom_column_content')
);
Solution n°1 trouvée
En utilisant le code suivant, j’ai pu charger le modèle personnalisé.
public function register_hook_callbacks(){
// Enqueue Styles & Scripts.
add_action( 'wp_enqueue_scripts',
array( $this, 'enqueue_scripts' ) );
add_filter('template_include',
array( $this, 'view_project_template')
);
}
0 commentaire