2016-03-01 6 views
0

с интеграцией Wordpress с Fishpig с magento, я, похоже, не могу получить доступ к категориям сообщений, используя метод, предоставляемый документами. В post/list.phtml я использую ниже, чтобы попытаться извлечь категории текущего сообщения, чтобы добавить их в класс элементов списка, но сброс объекта показывает, что массив терминов категории пуст. Я также пробовал это из view.phtml при просмотре одного сообщения и получал тот же результат. Может ли кто-нибудь указать какие-то указания на то, что я делаю неправильно здесь? БлагодаряFishpig Wordpress - получить категории сообщений в списке сообщений

<?php foreach ($posts as $post): 
<?php $categories = $post->getTermCollection('category') ?> 
      <li class="<?php echo $categories ?> 

ответ

-1
<?php 
    $id = get_the_ID(); 
    $cats = wp_get_post_categories($id); 
    echo $cats[0]->name; 
?> 
+0

Вы не можете использовать собственные функции Wordpress в шаблонах magento, только функции обертки, предоставляемые Fishpig, и любые пользовательские дополнения. – bsod99

2

Если вы посмотрите на код немного ближе, вы увидите, что метод, который вы вызываете называется getTermCollection. Это говорит о том, что метод возвращает набор терминов (т. Е. Категорий). Вы не можете просто отозвать коллекцию на экран. Вместо этого вам нужно пройти через коллекцию.

<?php $categories = $post->getTermCollection('category') ?> 
<?php if (count($categories) > 0): ?> 
    <?php foreach($categories as $category): ?> 
     <a href="<?php echo $category->getUrl() ?>"><?php echo $this->escapeHtml($category->getName()) ?></a> 
    <?php endforeach; ?> 
<?php endif; ?> 

Это проходит через категории и печатает ссылку на каждую категорию на экран.

Смежные вопросы