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.
Use this filter to customize the canonical URL for a page/post.
Usage
add_filter( 'get_canonical_url', 'filter_canonical_url_for_view_inside_page', 10, 2 );
Parameters
- $canonical_url (string): The post's canonical URL.
- $post: Post object.
Examples
Filter the canonical URL for a published View
Use this code snippet to filter the canonical URL for a target page and specific view.
add_filter( 'get_canonical_url', 'filter_canonical_url_for_view_inside_page', 10, 2 );
function filter_canonical_url_for_view_inside_page( $canonical_url, $post ) {
$target_post_id = 180; //Replace 180 with the target page ID
$target_view_id = 179; //Replace 179 wth the specific View ID
if ( $target_post_id !== $post->ID ) {
return $canonical_url;
}
$target_view = get_post( $target_view_id );
return FrmViewsDisplaysController::maybe_filter_canonical_url( $canonical_url, $target_view );
}
This way of handling it case-by-case can help avoid too many unnecessary checks when it isn't a requirement for someone to have an accurate canonical URL (which is mostly only relevant when sharing on social media).