2015-01-27 4 views
0

Можно ли отобразить шаблон для связанного контейнера?Wordpress Pod Relationshop поле

$mypod = pods('custompage', 'page-slug'); 
$related_pod = $mypod->field('top_feature'); 

Теперь я хочу назвать что-то вроде

$related_pod->template('FeatureTemplate'); 

Я не могу найти твердый ответ в этой документации, возможно ли это?

ответ

1

То, что вы пытаетесь сделать, не будет работать. Проблема в том, что $related_pod не является объектом класса Pods, и поэтому вы не можете вызвать метод template() на нем.

Можно использовать идентификатор связанного объекта, чтобы построить второй объект Pods для связанного сообщения, который затем можно вызвать методом template(). Обычно мы не будем этого делать, потому что нам это не нужно, и это не самый эффективный способ работы.

Вот как вы можете это сделать. ВАЖНО: это предполагает, что «top_feature» - это одно поле выбора, как в случае с OP. Это не будет работать для поля множественного выбора.

`` `

$mypod = pods('custompage', 'page-slug'); 
$relationship_field = $mypod->field('top_feature'); 

if ($relationship_field) { 

    //get ID of related item 
    //Depending on content type you may need to use, 'id', instead of 'ID' 
    $related_item_id = pods_v('ID', $relationship_field); 

    $related_pod = pods('name_of_related_pod', $related_item_id, true); 
    if (is_a($related_pod, 'Pods' && $related_pod->id() === $id)) { 
     $related_pod->template('FeatureTemplate'); 

    } 

} 

` ``

+0

Это единственный выбор, спасибо :) – Marklar

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