J'ai un problème lors de l'utilisation de la recherche in_array, mais le code semble correct. Que diable me manque-t-il?

$postCats = wp_get_post_categories($postId, array('orderby' => 'term_order', 'order' => 'ASC')); 

$prevCategoryName = array();

foreach($postCats as $cat) {
    $categoryName = get_cat_name($cat);
    if (!in_array($categoryName, $prevCategoryName)) {
        $most_latest_post .= '<div class="postCatTags">' . $categoryName . '</div>';
    }
    $prevCategoryName = array_push($prevCategoryName, $categoryName);
}

Messages d'erreur affichés:

Attention: in_array () s'attend à ce que le paramètre 2 soit array, entier donné dans C: \ xampp \ htdocs \ testwp2 \ wp-content \ themes \ my-theme \ template-frontpage.php en ligne 119

Attention: array_push () s'attend à ce que le paramètre 1 soit array, entier donné dans C: \ xampp \ htdocs \ testwp2 \ wp-content \ themes \ my-theme \ template-frontpage.php en ligne 122

0
Web Dev Guy 4 avril 2017 à 07:15

2 réponses

Meilleure réponse

Vous devez changer cette ligne

$prevCategoryName = array_push($prevCategoryName, $categoryName);

À

array_push($prevCategoryName, $categoryName);
2
Augwa 4 avril 2017 à 04:21

Voici le code corrigé:

$postCats = wp_get_post_categories($postId, array('orderby' => 'term_order', 'order' => 'ASC')); 

$prevCategoryName = array();
$most_latest_post = "";
foreach($postCats as $cat) {
    $categoryName = get_cat_name($cat);
    if (!in_array($categoryName, $prevCategoryName)) {
        $most_latest_post .= '<div class="postCatTags">' . $categoryName . '</div>';
    }
    array_push($prevCategoryName, $categoryName);
}
0
Gaurav 4 avril 2017 à 05:30