This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
Usage
add_filter( 'frm_prev_page_link', 'change_pagination_link', 10, 2 ); add_filter( 'frm_first_page_link', 'change_pagination_link' 10, 2 ); add_filter( 'frm_page_link', 'change_pagination_link' 10, 2 ); add_filter( 'frm_last_page_link', 'change_pagination_link' 10, 2 ); add_filter( 'frm_next_page_link', 'change_pagination_link' 10, 2 );
Parameters
- $link (string) - The page link
- $atts (array)
- $atts['current_page'] (integer)
- $atts['record_count'] (integer) - Total number of entries
- $atts['page_count'] (integer) - Total number of pages
- $atts['page_last_record'] (integer)
- $atts['page_first_record'] (integer)
- $atts['page_param'] (string) - The value in the url that sets the current page. frm-page-#
- $atts['view'] (object)
Examples
Add a page anchor
Add an anchor to the view pagination links. This will set the page position when the next view page is shown. If your theme uses smooth scroll, this may prevent the page from refreshing to get the next page.
add_filter( 'frm_prev_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_first_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_last_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_next_page_link', 'change_pagination_link', 10, 2 );
function change_pagination_link( $link, $atts ) {
if ( $atts['view']->ID === 25 ) { // set the ID of the view to modify
$link .= '#container-id-here'; // change this to the ID of the HTML container to go to
}
return $link;
}
Change the page parameter
By default, frm-view-# is used for the view pagination links. If there are multiple views on a page, this tells Formidable which page should show for each view. This example shows how to change the link from 'frm-page-#' to 'pages'. Note: WordPress uses the term 'page' and 'paged'. Using one of these values may have unexpected results.
add_filter( 'frm_prev_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_first_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_last_page_link', 'change_pagination_link', 10, 2 );
add_filter( 'frm_next_page_link', 'change_pagination_link', 10, 2 );
function change_pagination_link( $link, $atts ) {
if ( $atts['view']->ID === 25 ) { // set the ID of the view to modify
$new_param = 'pages'; // change this to your parameter
$link = str_replace( $atts['page_param'], $new_param, $link );
}
return $link;
}
add_filter( 'frm_filter_view', 'set_custom_page_parameter' );
function set_custom_page_parameter( $view ) {
$new_param = 'pages'; // change this to your parameter
if ( $view->ID === 25 && isset( $_GET[ $new_param ] ) ) {
$_GET[ 'frm-page-' . $view->ID ] = $_GET[ $new_param ];
}
return $view;
}