web-dev-qa-db-fra.com

Plusieurs modèles pour un seul type d'article personnalisé

Est-ce que quelqu'un connaît un moyen de modifier le processus de modèle wordpress afin qu'un seul type de publication personnalisé puisse être affiché sur deux modèles distincts en fonction de la valeur d'un champ personnalisé.

Par exemple, j'ai un seul type de message personnalisé appelé "plans"

Il utilise les fichiers single-plans.php et archive-plans.php comme modèles par défaut.

Ce que je voudrais faire est d’utiliser ce bout de code pour filtrer certains résultats dans ma boucle.

<?php //Filter the results based on the presence of $var
   $var = get_post_meta($post->ID, 'my_custom_field', true);
    if($var !== '') { ?>
      THE LOOP
    <?php } ?>

Cela fonctionne bien, mais j'ai besoin de créer deux modèles distincts dans lesquels je peux tester séparément $ var afin que je puisse avoir deux éléments de menu qui appellent chacun une version distincte du modèle et obtiennent un ensemble unique de résultats de mon seul CPT.

Merci Eric

1
Zeusofolus

Peut-être que votre question échappe à votre question, mais pouvez-vous utiliser get_template_part ?

<?php 

    get_template_part( 'plans', get_post_meta($post->ID, 'my_custom_field', true ) ); 
?>

Créez ensuite "plans_plana.php" et "plans_planb.php" (en supposant que "my_custom_field" puisse avoir les valeurs "plana" et "planb").

twentyten et vingteleven font un usage intensif de get_template_part si vous avez besoin d'exemples supplémentaires.

0
Jer