WP - get_template_part на основе соответствующих терминов таксономии
Я пытаюсь отобразить некоторые фрагменты (загруженные с помощью get_template_part()) на основе пользовательских терминов таксономии, назначенных посту.
До сих пор я могу получить термины таксономии, назначенные на должность с
$term_list = wp_get_post_terms($post->ID, 'sidebar_snippets', array("fields" => "all"));
print_r($term_list);
Который производит массив таких объектов:
(
[0] => WP_Term Object
(
[term_id] => 11
[name] => Future Events
[slug] => future_events
[term_group] => 0
[term_taxonomy_id] => 11
[taxonomy] => sidebar_snippets
[description] =>
[parent] => 0
[count] => 2
[filter] => raw
)
)
Я думал об итерации по массиву назначенных терминов и загрузке соответствующих фрагментов. Имена фрагментов идентичны термину таксономии.
$term_list = wp_get_post_terms($post->ID, 'sidebar_modules', array("fields" => "all"));
print_r($term_list); // works fine - outputs three terms (like above)
foreach($term_list as $term) {
echo $term['slug']; // does not out put anything.
get_template_part( 'modules/' . $term['slug] . '.php' );
}
У меня две проблемы. Тот, который даже не выводит $ term [slug]. Во-вторых, как бы я добавить некоторые проверки, например. проверить, существует ли файл в первую очередь, прежде чем пытаться получить get_template_part?
Спасибо
1 ответ
Вы пытаетесь получить доступ к значению объекта как к массиву, чтобы оно не отражало значение. Используйте приведенный ниже код для эха правильно.
foreach($term_list as $key => $term) {
$term_slug = $term->slug; // does not out put anything.
get_template_part( 'modules/'.$term_slug.'.php' );
}
Для получения дополнительной помощи см. Эту ссылку: Нажмите здесь, спасибо