Ik heb onderstaande php-code
Wat de code zou moeten doen (en dus niet doet
) is het ophalen van de primaire categorie van de post. Die primaire categorie wordt door de Yoast SEO plugin mogelijk gemaakt. Wanneer de primaire categorie "Prezi" of "Kahoot" is, moet 'A' worden weergegeven. Wanneer er maar een categorie geselecteerd is (en er dus geen primaire is), en die categorie is "Prezi" of "Kahoot", dan moet 'B'worden weergegeven. Is de primaire categorie of enkele categorie niet "Prezi" of "Kahoot", dan moet C worden weergegeven.
In de weergave krijg ik steeds C, terwijl de categorieën goed zijn ingesteld. Zit er dan toch een fout in dit stukje code?
Eerst had ik deze code, maar die pakt telkens de categorie die alfabetisch als eerst komt.
<?php
// Import necessary libraries
require_once('wp-load.php');
$post_id = get_the_ID(); // Get the current post ID
$primary_category = get_post_meta($post_id, '_yoast_wpseo_primary_category', true);
$categories = get_the_category($post_id);
if ($primary_category === 'Prezi' || $primary_category === 'Kahoot') {
echo 'A';
} elseif (count($categories) === 1 && ($categories[0]->slug === 'Prezi' || $categories[0]->slug === 'Kahoot')) {
echo 'B';
} else {
echo 'C';
}
?>
Wat de code zou moeten doen (en dus niet doet

In de weergave krijg ik steeds C, terwijl de categorieën goed zijn ingesteld. Zit er dan toch een fout in dit stukje code?
Eerst had ik deze code, maar die pakt telkens de categorie die alfabetisch als eerst komt.
<?php
$post_categories = get_the_category($post->ID);
$parent_category_name = '';
if (!empty($post_categories)) {
$parent_category = $post_categories[0]->parent ? get_category($post_categories[0]->parent) : $post_categories[0];
$parent_category_name = $parent_category->name;
}
if ($parent_category_name === 'Prezi' || $parent_category_name === 'Kahoot') {
echo
"<span>A</span>";
}
else
{
echo "<span>C</span>";
}
?>