J'ai une catégorie nommée "magazine" et je crée un article de cette catégorie. c'est le lien de mon article http://www.example.com/magazine/article-one/ Je veux vérifier function.php si je suis dans cette catégorie ou pas, pour cela j'utilise if(is_category('magazine')){die('I am in magazine category');} mais je n'ai rien. J'ai essayé en utilisant is_single et is_page mais toute cette fonction ne fonctionne pas.

1
Malki Mohamed 21 avril 2017 à 14:21

3 réponses

Meilleure réponse

Oui, ces fonctions ne fonctionneront pas directement dans functions.php, pour cela vous devez les utiliser comme suit,

add_filter('pre_get_posts', 'limit_archive_posts' ,5);
function limit_archive_posts($query){
    if ($query->is_category) {
        $query->set('posts_per_page', 3);
    }
    if($query->is_single == 1){
        $query->set('posts_per_page', 1);
    }
    return $query;
}

Ou utilisez-les dans les filtres wp_enqueue_scripts, wp_head, wp_footer.

2
Ahmed Ginani 21 avril 2017 à 11:26

Essayez ce code ci-dessous

 $category_object=get_queried_object();
 $category_term_id = $category_object->term_id;
 if($category_term_id == "your magazine term_id")       
 {
    echo 'I am in magazine category';   
 }
0
Shital Marakana 21 avril 2017 à 11:35

Vous ne pouvez pas ces fonctions dans function.php sinon elles n'auront aucun moyen. is_category vérifier la catégorie. Il obtiendra la catégorie sur la requête de page de taxonomie.

Vous pouvez utiliser cette action pour faire votre travail

add_filter('pre_get_posts', 'limit_archive_posts' ,5);
function limit_archive_posts($query){
    if ('magazine' === $query->is_category) {

     }
    if(1 === $query->is_single){

    }
    return $query;
} 

Vous pouvez mettre la logique de vos fonctions dans le thème functions.php et vous pouvez utiliser cette condition sur taxonomy.php ou archive.php pour rendre votre logique appropriée en fonction de la condition

if(is_category('magazine')){
    call_my_category_work_function();
}
1
Naveen Giri 21 avril 2017 à 11:43