PodsAPI::load_sister_fields PHP Method

load_sister_fields() public method

$params['pod'] int The Pod name $params['related_pod'] string The related Pod name
Since: 1.7.9
public load_sister_fields ( array $params, array $pod = null ) : array | boolean
$params array An associative array of parameters
$pod array (optional) Array of Pod data to use (to avoid lookup)
return array | boolean
    public function load_sister_fields($params, $pod = null)
    {
        $params = (object) pods_sanitize($params);
        if (empty($pod)) {
            $pod = $this->load_pod(array('name' => $params->pod, 'table_info' => false), false);
            if (false === $pod) {
                return pods_error(__('Pod not found', 'pods'), $this);
            }
        }
        $params->pod_id = $pod['id'];
        $params->pod = $pod['name'];
        $type = false;
        if (0 === strpos($params->related_pod, 'pod-')) {
            $params->related_pod = pods_str_replace('pod-', '', $params->related_pod, 1);
            $type = 'pod';
        } elseif (0 === strpos($params->related_pod, 'post_type-')) {
            $params->related_pod = pods_str_replace('post_type-', '', $params->related_pod, 1);
            $type = 'post_type';
        } elseif (0 === strpos($params->related_pod, 'taxonomy-')) {
            $params->related_pod = pods_str_replace('taxonomy-', '', $params->related_pod, 1);
            $type = 'taxonomy';
        }
        $related_pod = $this->load_pod(array('name' => $params->related_pod, 'table_info' => false), false);
        if (false === $related_pod || false !== $type && 'pod' != $type && $type != $related_pod['type']) {
            return pods_error(__('Related Pod not found', 'pods'), $this);
        }
        $params->related_pod_id = $related_pod['id'];
        $params->related_pod = $related_pod['name'];
        $sister_fields = array();
        foreach ($related_pod['fields'] as $field) {
            if ('pick' == $field['type'] && in_array($field['pick_object'], array($pod['type'], 'pod')) && ($params->pod == $field['pick_object'] || $params->pod == $field['pick_val'])) {
                $sister_fields[$field['id']] = esc_html($field['label'] . ' (' . $field['name'] . ')');
            }
        }
        return $sister_fields;
    }