• De afgelopen dagen zijn er meerdere fora waarop bestaande accounts worden overgenomen door spammers. De gebruikersnamen en wachtwoorden zijn via een hack of een lek via andere sites buitgemaakt. Via have i been pwned? kan je controleren of jouw gegeven ook zijn buitgemaakt. Wijzig bij twijfel jouw wachtwoord of schakel de twee-staps-verificatie in.

Opgelost Primaire categorie in WP

Erick

Gewaardeerd
Lid geworden
17 mei 2007
Berichten
1.422
Waarderingsscore
10
Ik heb onderstaande php-code

<?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 ;)) 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
$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>";
}
?>
 

Nieuwste berichten

Terug
Bovenaan