wordpress : impossible d’obtenir l’identifiant de catégorie lorsque l’URL de référencement est activée
<?php
/*
Plugin Name: Members
*/
function myFilter2($query)
{
if ($query->is_category)
{
$currently_listing_categories = $query->query_vars['category__in'];
print_r($currently_listing_categories);
}
}
add_filter('pre_get_posts','myFilter2');
?>
Ce plugin affiche les identifiants de catégorie lorsque l’url n’est pas optimisée pour le référencement
http://domain.com/wplab/wpla4/?cat=4
. mais quand j’active le SEO
http://domain.com/wplab/wpla4/category/members/
le tableau est vide
comment puis-je obtenir l’identifiant de catégorie avec des URL optimisées pour le référencement
Solution n°1 trouvée
Collez dans votre functions.php
ou utilisez dans votre plugin
add_filter('pre_get_posts','myFilter2');
function myFilter2()
{
global $wp_query;
$cat_name= $wp_query->query_vars['name'];
$cat_id=get_cat_id($cat_name);
echo $cat_id; // the category id will be available, echo is for testing only
}
Lorsque l’URL est commehttp://example.com/category_name
<img src= »https://i.stack.imgur.com/gJpls.png » alt= »entrez la description de l’image ici »>
Solution n°2 trouvée
Utilisez cette fonction pour obtenir la catégorie actuelle dans wp :
function getCurrentCatID(){
global $wp_query;
if(is_category() || is_single()){
$cat_ID = get_query_var('cat');
}
return $cat_ID;
}
echo getCurrentCatID();
Je viens de trouver pour vous aussi essayez ceci,
if(isset($wp_query->get_queried_object()->cat_ID))
{
$cur_catId = $wp_query->get_queried_object()->cat_ID;
}
if(isset($wp_query->get_queried_object()->ID))
{
$cur_postId = $wp_query->get_queried_object()->ID;
}
0 commentaire