diff --git a/custom_pagers.admin.inc b/custom_pagers.admin.inc
index 3797dd6..79a0668 100644
--- a/custom_pagers.admin.inc
+++ b/custom_pagers.admin.inc
@@ -161,11 +161,15 @@ function custom_pagers_form($form, &$form_state, $pid = NULL) {
       '#default_value' => $pid ? $pager->view : NULL,
     );
 
+    $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.');
+    if (module_exists('php')) {
+      $description .= t('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 ?>'));
+    }
     $form['node_list']['args'] = array(
       '#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' => $description,
       '#default_value' => $pid ? $pager->args : NULL,
     );
 
diff --git a/custom_pagers.module b/custom_pagers.module
index 3df67ff..cffa74d 100644
--- a/custom_pagers.module
+++ b/custom_pagers.module
@@ -306,9 +306,19 @@ function custom_pagers_get_list_from_view($pager, $node) {
 
     // Get arguments for the view.
     if (!empty($pager->args)) {
-      $args = explode("\n", $pager->args);
-      foreach($args as &$arg) {
-        $arg = token_replace(trim($arg), array('node' => $node));
+      // eval PHP code as arguments
+      // TODO: implement better check if PHP code should be used, maybe even set up a variable
+      if (module_exists('php') && strpos($pager->args, '<?php') !== FALSE) {
+        $args = php_eval($pager->args);
+        if (!is_array($args)) {
+          $args = array($args);
+        }
+      }
+      else {
+        $args = explode("\n", $pager->args);
+        foreach($args as &$arg) {
+          $arg = token_replace(trim($arg), array('node' => $node));
+        }
       }
     }
     else {
