Use object in template part
Frage
I try to use a template part in my loop.
<?php
foreach ($categories as $category) {
get_template_part( 'temp-parts/loop/blcnr_loop');
}
?>
In the template part I call the object
<?php
echo $category->name;
?>
But this gives me an error "Trying to get property 'name' of non-object". Is there a solution for this?
I tried this
foreach ($categories as $category) {
$categoryData = array(
'name' => 'theName'
);
get_template_part( 'temp-parts/loop/blcnr_loop', NULL, $categoryData);
}
And this in the template part
echo $categoryData['name'];`
But this returns NULL
Lösung
As of WordPress 5.5 you can pass variables to template parts by passing them in an array to the third argument of get_template_part()
:
foreach ($categories as $category) {
get_template_part( 'temp-parts/loop/blcnr_loop', null, [ 'category' => $category ] );
}
These variables will populate an $args
variable accessible from the the template:
echo $args['category']->name;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange