Задаване на филтър с код на views

Как да променим/зададен стойност на филтър (пък бил той и exposed) на views в кода?

    $view_name = 'invoice_items';
    $display = 'block';
 
    $view = views_get_view($view_name);
    $view -> set_display($display);
 
    $filter_1 = $view -> get_item($display, 'filter', 'field_delivery_order_ref');
    $filter_1['value'] = $order_nid;
    $view -> set_item($display, 'filter', 'field_delivery_order_ref', $filter_1);
    $output = $view -> render();

редакция: 03.05.2015

Може да се зададат няколко филтър от различен вид полета

//
      $view_name = 'delivery';
      $display = 'block_2';
 
      //
      $view = views_get_view($view_name);
      $view -> set_display($display);
 
      // exclude current 
      $filter_1 = $view -> get_item($display, 'filter', 'nid');
      $filter_1['value']['value'] = $delivery -> nid;
      $view -> set_item($display, 'filter', 'nid', $filter_1);
      // add ref to order
      $filter_2 = $view -> get_item($display, 'filter', 'field_delivery_order_ref_nid');
      $filter_2['value'] = array($order -> nid);
      $view -> set_item($display, 'filter', 'field_delivery_order_ref_nid', $filter_2);
 
      //
      $view -> execute();
      $output = $view -> preview();
Category: