web-dev-qa-db-fra.com

Contrôler le modèle de type de message personnalisé à partir d'un plugin

Je peux contrôler le modèle personnalisé à utiliser sur des pages de type publication personnalisée, mais le fichier de modèle doit toujours disposer du balisage du thème. Je me demandais si je pouvais le rendre indépendant du thème?

Exemple: j'ai un plugin qui enregistre mon type de publication personnalisé. J'ai les informations méta post que je veux montrer dans un modèle personnalisé. Ce modèle fonctionne sur mes pages de type d'article personnalisé, mais je ne peux utiliser que les appels get_header () et get_footer (), mais je ne peux pas répondre à la nécessité d'avoir le balisage de thème entre en-tête et pied de page.

Cela avait-il un sens? Des idées?

2
Ashfame

Je l'ai obtenu en utilisant le code suivant:

add_action( 'template_redirect', 'ft_job_cpt_template' );

function ft_job_cpt_template() {
    global $wp, $wp_query;

    if ( isset( $wp->query_vars['post_type'] ) && $wp->query_vars['post_type'] == 'job' ) {
        if ( have_posts() ) {
            add_filter( 'the_content', 'ft_job_cpt_template_filter' );
        }
        else {
            $wp_query->is_404 = true;
        }
    }
}

function ft_job_cpt_template_filter( $content ) {

    global $wp_query;
    $jobID = $wp_query->post->ID;

    $output = ''; // Build markup fetching info from postmeta

    return $output;
}

N'hésitez pas à commenter vos suggestions.

3
Ashfame