I really wanted to get multiple Views onto my home page to display new/popular Groups and content. I am not a PHP coder, and the only help I found to do this was at http://drupal.org/node/42599. That post got me started and I took it a bit further. Following the instructions below you can add as many Views as you want to a node and use paging with each. This method has not been tested in various situations and I do not know its limits. Like I said, I'm not a coder. Use at your own risk :-)

Obviously you'll need the Views.module. Enter Administer > Views and create all the Views you will want for this one node. Now, all my Views provide a "Page", the View Types are "Table View", I use the "Pager", and they all have similar "Fields", "Filters", and "Sort Criteria". (Not sure if this all matters but just so you know.) Also make sure you enter the node URL for each View in the View settings. I didn't do this at first and it was strangely screwing up my 404 page.

You need to designate one of these Views as a primary, and the rest as subordinates. By this I mean just use descriptive View names and descriptions, for clarity. The View you designate as the primary will appear at the bottom of the node. The subordinates will appear in sequence from the top of the node down. The primary will also contain the code which will make all this happen in its Page > Header.

Enter the following code into the Page > Header of the View you have designated as the primary. Be sure to use the PHP input filter:

<!-- Put any text here that you want at the top of the page. Minus the title, enter the title within the primary View's settings. -->


// This calls the primary View.
global $current_view;

// This calls our first secondary View.
// Change the View name within the parenthesis.
$view = views_get_view('home_page_new_groups');

// This is  HTML I needed for my theme/layout
// and a sub-heading for the View.
print t("<br />");
print t("<h2>Newest Groups</h2>");

// This loads the View's arguments?
// I changed the last two things in the parenthesis.  
// It was "false, false" but then paging didn't work.
// "true, 10" enables paging and pages after 10 nodes are listed - 
// change this number to whatever you need.
print views_build_view('embed', $view, $current_view->args, true, 10)

// It was necessary to separate each View with its own PHP tags.  
$view = views_get_view('home_page_popular_groups');
print t("<p>&nbsp;</p>");
print t("<h2>Most Popular Groups</h2>");
print views_build_view('embed', $view, $current_view->args, true, 10)


$view = views_get_view('home_page_new_content');
print t("<p>&nbsp;</p>");
print t("<h2>Newest Content</h2>");
print views_build_view('embed', $view, $current_view->args, true, 10)

<!-- I added this HTML for my theme/layout and a sub-heading for the primary View.  Since the primary View comes last, I provide a sub-heading for it here at the end. -->
<p>&nbsp;</p>
<h2>Most Popular Content</h2>

You should now have multiple Views on one node (considering that content is being forwarded to this node by default).

A bit of a hack I guess, but hey, it works! Hope this helps :-)

Have each view page individually

Each views_build_view statement needs to have a separate pager id:

views_build_view('embed', $view, $current_view->args, 1, 5);
views_build_view('embed', $view, $current_view->args, 2, 5);
views_build_view('embed', $view, $current_view->args, 3, 5);

In the views.module, the views_build_view function, the use_pager item is defined:

 * @param $use_pager
 *   If set, use a pager. Set this to the pager id you want it
 *   to use if you plan on using multiple pagers on a page. To go with the
 *   default setting, set to $view->use_pager. Note that the pager element
 *   id will be decremented in order to have the IDs start at 0.

Each view is paged separately on the page. Cool!