/** * Outputs rel=canonical for singular queries. * * @since 2.9.0 * @since 4.6.0 Adjusted to use wp_get_canonical_url(). */ function rel_canonical() { if (!is_singular()) { return; } $id = get_queried_object_id(); if (0 === $id) { return; } $url = wp_get_canonical_url($id); if (!empty($url)) { echo '<link rel="canonical" href="' . esc_url($url) . '" />' . "\n"; } }
/** * Test calling of filter. */ public function test_get_canonical_url_filter() { add_filter('get_canonical_url', array($this, 'canonical_url_filter')); $canonical_url = wp_get_canonical_url(self::$post_id); remove_filter('get_canonical_url', array($this, 'canonical_url_filter')); $this->assertEquals($this->canonical_url_filter(), $canonical_url); }