diff --git custom_pagers.admin.inc custom_pagers.admin.inc
index ac6ba7d..8ede005 100644
--- custom_pagers.admin.inc
+++ custom_pagers.admin.inc
@@ -155,7 +155,7 @@ function custom_pagers_form(&$form_state, $pid = NULL) {
       '#type' => 'textarea',
       '#title' => t('View arguments'),
       '#required' => FALSE,
-      '#description' => t('A return-delimited list of arguments to pass into the selected view. If Token.module is enabled, placeholder tokens like [type] and [author] can be used.'),
+      '#description' => t('A return-delimited list of arguments to pass into the selected view. If Token.module is enabled, placeholder tokens like [type] and [author] can be used. Alternatively, use a snippet of PHP that evaluates to either a single argument or an array of arguments (enter PHP code between %php).', array('%php' => '<?php ?>')),
       '#default_value' => $pid ? $pager->args : NULL
     );
 
diff --git custom_pagers.module custom_pagers.module
index 5eec751..918ba77 100644
--- custom_pagers.module
+++ custom_pagers.module
@@ -257,9 +257,19 @@ function custom_pagers_get_list_from_view($pager, $node) {
 
     // Get arguments for the view.
     if (!empty($pager->args)) {
-      $args = array_map('trim', explode("\n", $pager->args));
-      if (module_exists('token')) {
-        $args = token_replace($args, 'node', $node);
+      // eval PHP code as arguments
+      // TODO: implement better check if PHP code should be used, maybe even set up a variable
+      if (strpos($pager->args, '<?php') !== FALSE) {
+        $args = drupal_eval($pager->args);
+        if (!is_array($args)) {
+          $args = array($args);
+        }
+      }
+      else {
+        $args = array_map('trim', explode("\n", $pager->args));
+        if (module_exists('token')) {
+          $args = token_replace($args, 'node', $node);
+        }
       }
     }
     else {
