PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.5
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.5
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / src / presenters / canonical-presenter.php

canonical-presenter.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.5, at src/presenters/canonical-presenter.php

52 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Yoast\WP\SEO\Presenters;
4
5 use Yoast\WP\SEO\Presentations\Indexable_Presentation;
6
7 /**
8 * Presenter class for the canonical.
9 */
10 class Canonical_Presenter extends Abstract_Indexable_Tag_Presenter {
11
12 /**
13 * The tag key name.
14 *
15 * @var string
16 */
17 protected $key = 'canonical';
18
19 /**
20 * The tag format including placeholders.
21 *
22 * @var string
23 */
24 protected $tag_format = self::LINK_REL_HREF;
25
26 /**
27 * The method of escaping to use.
28 *
29 * @var string
30 */
31 protected $escaping = 'url';
32
33 /**
34 * Run the canonical content through the `wpseo_canonical` filter.
35 *
36 * @return string The filtered canonical.
37 */
38 public function get() {
39 if ( \in_array( 'noindex', $this->presentation->robots, true ) ) {
40 return '';
41 }
42
43 /**
44 * Filter: 'wpseo_canonical' - Allow filtering of the canonical URL put out by Yoast SEO.
45 *
46 * @param string $canonical The canonical URL.
47 * @param Indexable_Presentation $presentation The presentation of an indexable.
48 */
49 return \urldecode( \trim( (string) \apply_filters( 'wpseo_canonical', $this->presentation->canonical, $this->presentation ) ) );
50 }
51 }
52