WordPress : Le modèle personnalisé avec CPT ne s’affiche pas sur le frontend

Publié par Jean-Michel le

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')
);
    }
Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *